2012-03-20 52 views
2

我在重定向鏈接時遇到了一些困難。這裏有一個簡單的例子,我希望你能告訴我我錯過了什麼,導致它失敗。如何使用Apache mod_rewrite RewriteCond重定向鏈接?

RewriteCond %{QUERY_STRING} NAV=PIXIES 
RewriteRule ^/category.asp?NAV=PIXIES /category/pop-artpixies-trade- [R=301,L,NE] 

請讓我知道我可以提供什麼進一步的信息。

回答

2

查詢字符串不包括在URI在RewriteRule指令匹配:

RewriteCond %{QUERY_STRING} NAV=PIXIES 
RewriteRule ^/category.asp$ /category/pop-artpixies-trade- [R=301,L,NE] 

如果這是一個.htaccess文件裏面,你需要刪除斜線在你的正則表達式匹配:

RewriteRule ^category.asp$ /category/pop-artpixies-trade- [R=301,L,NE] 

如果你想從查詢字符串實際上刪除NAV=PIXIES(因爲上面的規則將改寫http://domain/category.asp?NAV=PIXIEShttp://domain/category/pop-artpixies-trade-?NAV=PIXIES)那麼你需要添加一個「?」到目標爲止:

RewriteRule ^category.asp$ /category/pop-artpixies-trade-? [R=301,L,NE]