2013-04-03 117 views
1

我想重定向以下兩個鏈接:如何在301重定向中傳遞參數?

/catalog/yogicchai/rooibos-masala-chai-naturally-caffeine-c-84.html?infoBox=5 (category link) 


/catalog/yogicchai/rooibos-masala-chai-naturally-decaffeinated-p-291.html (product link) 

要:

yogicchaiDOTcom/rooibos-masala-chai-naturally-decaffeinated.html 

我認爲這是解決方案:

RedirectMatch 301 /catalog/yogicchai/rooibos-masala-chai(.*)\.html 
yogicchaiDOTcom/rooibos-masala-chai-naturally-decaffeinated.html 

但最終的結果是:

yogicchaiDOTcom/rooibos-masala-chai-naturally-decaffeinated.html?infoBox=5 

我不希望"?infoBox=5"印在上面的URL末尾

我該如何防止發生這種情況?

回答

0

啓用mod_rewrite的,並通過httpd.conf的.htaccess,然後把這個代碼在你.htaccessDOCUMENT_ROOT目錄:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteRule ^catalog/yogicchai/rooibos-masala-chai.*?\.html$ /rooibos-masala-chai-naturally-decaffeinated.html? [L,R=301,NC] 
+0

謝謝Anubhava。不幸的是,我仍然看到?infoBox = 5打印在URL末尾:( – Giri06 2013-04-03 22:00:41

+1

'?'在目標URL的末尾去掉查詢參數。btw被重定向到/rooibos-masala-chai-naturally-decaffeinated.html ''也請確保你清除瀏覽器緩存並重新啓動你的瀏覽器 – anubhava 2013-04-04 03:47:46

+0

是清除緩存後它將刪除任何查詢參數,但是現在url結尾?任何想法來解決這個問題?謝謝! – Giri06 2013-04-06 12:32:25

2

只是一個問號添加到目標URL是這樣的:

RedirectMatch 301 /catalog/yogicchai/rooibos-masala-chai(.*)\.html 
yogicchaiDOTcom/rooibos-masala-chai-naturally-decaffeinated.html? 

有不能是一個url中的兩個問號,所以apache不會添加上一頁中的參數,因爲新的已經有一個了。