2011-08-24 188 views
0

我需要重定向指令,以舊查詢字符串的URL重定向到新的URL沒有查詢字符串。新的URL取決於查詢字符串的值。例如:.htaccess基於查詢字符串重定向,並刪除查詢字符串

我想: HTTP:// www.mydomain.com/product.php?id_product=AAA

會重定向到:

的http:// www.mydomain.com/產品名稱爲產品用戶號碼1

而且

的http:// www.mydomain.com/product.php?id_product=BBB

會重定向到:

的http:// www.mydomain.com/this-is-different-product-name-for-product-number-2

在此先感謝。

回答

0

在我看來,你不能執行基於查詢字符串的重定向。所以你將不得不添加[QSA]標誌並重定向到一個腳本,這將能夠重定向感謝查詢字符串。

1

你可以做到這一點類型的重定向:從

:HTTP:// www.mydomain.com/product-name-for-product-number-AAA
指向:http:// www.mydomain ?的.com/product.php id_product = AAA & name_product =產品名稱

:HTTP:// www.mydomain.com/this-is-different-product-name-for-product-number-2
發送至:http://www.mydomain.com/product.php?id_product=BBB & name_product =這是不同的產品名稱

你不能dinamically檢索htaccess文件中的產品名稱,要做到這一點的唯一方法是:

RewriteRule ^(.+)-for-product-number-(.+)$ ^product.php?id_product=$2&name_product=$1 

,或者您需要爲每個產品一個重寫規則,你有(你可以生成一個腳本的.htaccess從db檢索所有產品編號&名稱):

RewriteRule ^product-name-for-product-number-1$ product.php?id_product=AAA 
RewriteRule ^this-is-different-product-name-for-product-number-2$ product.php?id_product=BBB