繁体   English   中英

.htaccess基于查询字符串重定向并删除查询字符串

[英].htaccess redirect based on query string and remove query string

我需要具有重定向指令,以将带有查询字符串的旧URL重定向到没有查询字符串的新URL。 并且新的URL取决于查询字符串的值。 例如:

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

将重定向到:

http:// www.mydomain.com/product-name-for-product-number-1

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

将重定向到:

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

提前致谢。

您可以执行以下类型的重定向:

来自: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=this-is-different-product-name

您无法从htaccess文件中动态检索产品名称,执行此操作的唯一方法是:

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

或者您需要为每个产品创建一个重写器(您可以通过从数据库检索所有产品ID和名称的脚本生成.htaccess):

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

在我看来,您无法基于查询字符串执行重定向。 因此,您将必须添加[QSA]标志并重定向到脚本,该脚本将能够通过查询字符串进行重定向。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM