2013-02-15 92 views
0

我有在獲得第二個讓我的路線參數我不能在這裏得到第二個參數是規則的另一個問題,我寫的重寫規則:無法獲取URL的參數第二次在.htaccess

RewriteRule ^knowledgebase/topics/([0-9]+)-([A-Za-z0-9-]+)\?page=([0-9]+)?$ topic.php?id=$1&page=$3 [NC,L] 

預期的網址是

knowledgebase/topics/6457-microsoft-office-application-information?page=2 

這裏6457是先得到變量然後-則標題microsoft-office-application-information然後?page=然後我的第二個GET參數是2但無法獲得使得p年齡變量

什麼問題是在正則表達式錯誤?

回答

1

查詢字符串不包含在重寫url模式中。來自RewriteRule Directive

什麼是匹配?
如果您希望與主機名,端口或查詢字符串匹配,請分別使用RewriteCond和%{HTTP_HOST},%{SERVER_PORT}或%{QUERY_STRING}變量。

您必須提取部分分別

RewriteCond %{QUERY_STRING} page=([0-9]+) 
RewriteRule ^knowledgebase/topics/([0-9]+)-[A-Za-z0-9-]+ topic.php?id=$1&page=%1 [NC,L] 
+0

感謝隊友的答案我會嘗試,並讓你知道 – Seeker 2013-02-15 17:52:02