2013-04-25 129 views
1

我已經在網站上刪除和/或組合了幾頁,現在我需要設置301重定向。
我這樣做在我的.htaccess是我最好的選擇,但我想添加的規則doesen't得到注意或什麼。他們不迴應在所有...嘗試將一個頁面重定向到另一個頁面,但是我的重定向規則不響應

這是到目前爲止,我已經試過了規則:

Redirect 301 /?Page=sPage&sPage=Our-Store %{SERVER_NAME}?Page=sPage&sPage=About-Us 

RewriteRule ^/?Page=sPage&sPage=Our-Store$ %{SERVER_NAME}?Page=sPage&sPage=About-Us[R=301,NC,L] 

RewriteCond %{HTTP_HOST} !^%{SERVER_NAME}$ [NC] 
RewriteRule . %{SERVER_NAME}%{REQUEST_URI}?Page=sPage&sPage=About-Us [R=301,L] 

這最後一個搞砸up the CSS and JS src's ...

我有這個頂部:

RewriteEngine On 
RewriteBase/

任何建議嗎?

UPDATE:跟進問題
我喜歡與結束ID是不同的3000+等於URL字符串。我如何重定向所有這些請求?
這是舊的URL:?Page=Tuninglist&Car=*
這是新的:?Page=Tuning&view=vehicle&type=Car&id=*
*的id=的值只是整數...

希望這樣的事情可以工作,但無 - 有一個500服務器錯誤,而不是...

RewriteCond %{QUERY_STRING} ^Page=Tuninglist&Car=([0-9]+)$ 
RewriteRule^?Page=Tuning&view=vehicle&type=Car&id=$1 [R=301,L] 

*編輯:因爲我在條件開始時有發生? 500服務器錯誤。
現在重定向工作,但結尾id值不包括在內。
我得到的是正確的頁面,而不是相關的內容基於該id ...

回答

2

你不能對匹配的查詢字符串的重定向或重寫規則,你需要使用%{QUERY_STRING}做在一個條件變量:

RewriteCond %{QUERY_STRING} ^Page=sPage&sPage=Our-Store$ 
RewriteRule^%{REQUEST_URI}?Page=sPage&sPage=About-Us [R=301,L] 
相關問題