2011-07-22 159 views
1

我被卡在一些URL重寫問題。URL重寫幫助

RewriteRule ^(userratings)/(.*)$ /user_rating.php?userId=$2 [L] 

這對我有用。

我想添加第三個變量也。但它可能存在或不存在。

RewriteRule ^(userratings)/(.*)/(.*)$ /abc.php?userId=$2&product=$3 [L] 

但最後的/(.*)可以在那裏也可以不存在。那麼我怎麼寫這個條件?

回答

2

此規則將做的工作:

RewriteRule ^userratings/([^/]+)(/(.*))?$ /abc.php?userId=$1&product=$3 [QSA,L] 

測試實例:

  • /userratings/12345/hello將被改寫成/abc.php?userId=12345&product=hello
  • /userratings/12345將被改寫成/abc.php?userId=12345&product=

這意味着,如果URL路徑中的第三個參數不存在,則product=的值將爲空字符串。