2012-07-25 59 views
0

我一直在努力做幾天的301重定向。沒有任何現有的主題有幫助。301 .htaccess重定向僅次於/

我需要與的.htaccess重定向以下頁面:

Redirect 301 http://www.mypage.com/?q=company/contacts http://www.mypage.com/contacts 
Redirect 301 http://www.mypage.com/?q=product/new/ghz/name-5 http://www.mypage.com/name-5 

我知道,我應該使用重寫規則,並指定{查詢字符串}相信我,我試過。沒什麼幫助。我非常感謝任何幫助。

回答

2

匹配與實際要求:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /\?q=company/contacts 
RewriteRule ^$ http://www.mypage.com/contacts? [R=301,L] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /\?q=product/new/ghz/name-5 
RewriteRule ^$ http://www.mypage.com/name-5? [R=301,L] 

或查詢字符串(這符合重寫的URI)

RewriteCond %{QUERY_STRING} ^q=company/contacts$ 
RewriteRule ^$ http://www.mypage.com/contacts? [R=301,L] 

RewriteCond %{QUERY_STRING} ^q=product/new/ghz/name-5$ 
RewriteRule ^$ http://www.mypage.com/name-5? [R=301,L] 
+0

它重定向,但網址會遵循在兩種情況下:HTTP:/ /www.mypage.com/contacts?q=company/contacts,它應該顯示爲mypage.com/contacts,就是它 – 2012-07-25 11:19:44

+0

@TomTom哦,忘記刪除查詢字符串,請參閱編輯(需要a **?**在結束) – 2012-07-25 11:21:24

+0

Omg,你是一個救星!它的工作原理:) – 2012-07-25 11:28:37