2011-11-14 38 views
0

我遇到了一個問題,我的htaccess,我們移動了一個網站,他們是舊網站有很多重複的網頁,有一個?cat_id=88等...對他們,我試圖重定向頁面,但它不工作,我已經把下面的重定向代碼,我已經重定向mantra.html/Mantra但與?cat_id=79版本不是重定向,它只是無視一切?htaccess因爲'?'沒有重定向

Redirect 301 /mantra.html?cat_id=79 http://www.website.co.uk/Mantra 

回答

1

重定向後只接受路徑,而不是查詢字符串的路徑。你可以使用mod_rewrite

RewriteEngine on 
RewriteCond %{QUERY_STRING} ^cat_id=79$ 
RewriteRule ^mantra\.html$ /Mantra? [R=302,L] 

變化302至301一旦你得到它的工作(301通過瀏覽積極緩存,使調試的噩夢)。

編輯在最後添加了一個?刪除任何查詢字符串。如果查詢字符串中沒有其他數據,Apache將刪除?,因此最終用戶將永遠不會看到它。

+1

如果要刪除現有的查詢字符串,請不要忘記目標末尾有一個「?」。 –

+0

好建議Ignacio。將它添加到帖子中。 – Gerben