2011-04-19 137 views
1

我們在新網站的動態網頁範圍中犯了一個錯誤,並且在Google中已經出現了一些不正確的網頁。動態301重定向

我需要以下格式重定向: http://www.domain.com/dir/dir/?q=120

爲此格式: http://www.domain.com/dir/dir/?p=120

唯一的區別是 'Q' 需要一個 'P'。

RewriteEngine敘述上,因爲我已經從綜合交通domain.com到www.domain.com

這是我在我的根.htaccess文件:

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^centerline.com [NC] 
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301] 
RewriteRule ^(/leadership/detail/)\?q=([0-9]+)$ $1?p=$2 [R=301, L] 

回答

2

試試這個:

RewriteCond %{QUERY_STRING} q=([0-9]+)$ 
RewriteRule ^(.*)$ /$1?p=%1 [L,R=301] 

你需要的RewriteCond例如Apache不允許對查詢字符串匹配的RewriteRule

編輯

RewriteCond %{REQUEST_URI} ^/leadership/detail/$ 
RewriteCond %{QUERY_STRING} q=([0-9]+)$ 
RewriteRule ^(.*)$ /$1?p=%1 [L,R=301] 
+0

嗯,仍然沒有工作。此語法正確: 'RewriteCond%{QUERY_STRING} q =([0-9] +)$ RewriteRule ^(/ leadership/detail /)$/$ 1?p =%1 [L,R = 301]' – Keefer 2011-04-19 20:13:56

+0

我已經編輯了答案,以包含您正在尋找的特定請求-Uri。 – clmarquart 2011-04-19 20:18:25

+0

這是現在的工作。謝謝你的時間。 – Keefer 2011-04-19 20:45:24