2012-10-10 36 views
0

刪除查詢字符串我已經研究了這一段時間,現在又指着我的解​​決辦法應根據以下(以及數百人的這裏,所以原諒我重複)工作:htaccess的重定向上

Example 1 Example 2

我需要從重定向中刪除查詢字符串。舊WordPress?p = ###到一個新的域名/網址。

Old Url: blog.domain.com/blog/?p=123 
New Url: www.domain.com/yada/woohoo/ 

有了這個:

RewriteCond %{QUERY_STRING} ^p=123$ 
RewriteRule ^/blog/$ http://www.domain.com/yada/woohoo/? [L,R=301] 

我得到:http://www.domain.com/yada/woohoo/?p=123

我想:http://www.domain.com/yada/woohoo/

blog.domain.com將在DNS級別重定向。

我錯過了什麼? 「?」在重寫行的末尾應該刪除查詢字符串?

回答

1

我剛剛試過你的代碼,唯一改變的是第一個/在博客中,並且我在沒有querystring的情況下完美地工作了
如果你運行Apache> 2.4,那麼你可以使用標誌QSD,但否則,與?最後它的工作。那裏有其他規定嗎?

RewriteCond %{QUERY_STRING} ^p=123$ 
RewriteRule ^blog/$ http://www.domain.com/yada/woohoo/? [L,R=301] 
+0

這額外的/我做出了區別。現在所有的作品。謝謝! – roadsunknown

+0

進一步檢查。這適用於www.domain.com/blog/?p=123而不是blog.domain.com/blog/?p=123。使用子域返回相同的結果爲前:www.domain.com/yada/woohoo/?p=123。 – roadsunknown