2011-02-08 28 views
3

我想將「http://www.suma.ir/product.php?id_product=12」重定向到「http://www.suma.ir/product.php?id_product=508」,但我有麻煩。 URL路徑應該保持不變,我想要做的就是更改查詢字符串中的ID。我需要做些什麼來完成這項工作?如何使用重定向更改查詢字符串參數的值?

Options +FollowSymlinks 

RewriteEngine on 

RewriteCond %{HTTP_HOST} ^suma\.ir$ [NC] 
RewriteRule ^(.*)$ http://www.suma.ir/$1 [R=301,L] 

# This is the part that isn't working 
Redirect 301 /product.php?id_product=12 http://www.suma.ir/product.php?id_product=508 
+0

您是否對product.php有'控制'?如果是這樣,您可以在該PHP頁面中編寫此更改。 – trojanfoe 2011-02-08 07:55:06

回答

1

mod_alias Redirect指令不看參數字符串,所以你的重定向聲明永遠不會匹配。相反,你需要使用mod_rewrite。您可以執行以下操作:

Options +FollowSymlinks 

RewriteEngine on 

RewriteCond %{HTTP_HOST} ^suma\.ir$ [NC] 
RewriteRule ^(.*)$ http://www.suma.ir/$1 [R=301,L] 

RewriteCond %{QUERY_STRING} (^|&)id_product=12(&|$) 
RewriteRule ^product\.php$ /$0?id_product=508 [R=301,L] 
相關問題