2011-04-27 72 views
8

我不能重寫包括兩個參數,但最後一個參數是可選的,因此,例如:重寫規則 - 兩個參數,但最後一個參數是可選

http://www.mywebsite.com/friends/jamie - (正斜槓應該是可選的太)。這應該是與此相同:

http://www.mywebsite.com/friends.php?name=jamie 

當包括第二參數

http://www.mywebsite.com/friends/jamie/30 - 應該是相同的,因爲這:

http://www.mywebsite.com/friends.php?name=jamie&page=30 

此規則不工作:

RewriteRule ^friends/(.*)/(.*)$ friends.php?name=$1&page=$2 

因爲我得到這個:The requested URL /friends/jamie was not found on this server.但工程,如果我包括第二個參數的頁碼,所以基本上第二個參數應該是可選的。

回答

17

嘗試使用這個規則來代替:

RewriteRule ^friends/([^/]*)/?(.*)$ friends.php?name=$1&page=$2 

希望幫助

+0

這工作。謝謝。 :-) – MacMac 2011-04-27 19:46:19

+1

4年後:謝謝,你救了我的一天! 5年後的 – 2015-08-14 14:50:57

+0

。非常感謝 :) – 2016-05-22 13:57:22