2012-04-27 119 views
0

我試圖建立一個更友好的URL系統,並失敗悲慘。我希望能夠通過1個或2 GET參數是這樣的:htaccess兩個參數的mod重寫問題

http://website.com/1234/123456 

其中1234是第一個參數和123456是第二PARAM。

在我嘗試阿帕奇不斷觀察/1234/作爲文件夾參數。以下是我試過到目前爲止:

RewriteRule ^([^/]*)/([^/]*)$ index.php?id=$1&pa=$2 [L] 

RewriteRule ^(.*)/(.*)$ index.php?id=$1&pa=$2 
RewriteRule ^(.*)$  index.php?id=$1 [L] 

回答

0

你可以做這樣的:

RewriteEngine On 
RewriteRule ^/?index\.php$ - [L] 
RewriteRule ^/?(?:([^/]*)(?:/([^/]*)/?)?)?$ /index.php?id=$1&pa=$2 [L] 

這是一個有點嚴格,凌亂,所以你可以只嘗試:

RewriteEngine On 
RewriteRule ^/?index\.php$ - [L] 
RewriteRule ^/?(([^/]*)(/?(.*)))?$ /index.php?id=$2&pa=$4 [L] 

這將採取everythi ng過去的最後host.com/123/1233/56將重寫爲host.com/index.php?id=123&pa=1233/56,而第一個將不會重寫它,因爲56

+0

我假設我做錯了什麼。我一直在玩它一個小時,但與你的兩個例子,它仍然看到第一個參數作爲一個文件夾和參數。 – prattw 2012-04-30 19:13:36

+0

@prattw可能是因爲'index.php?id = $ 1',您可能想要添加'/',以便將它從網站的文檔根目錄中取出,而不是從它認爲自己的位置拉出位於。不知道這是否是問題,但嘗試一下。 – craniumonempty 2012-05-08 20:03:58