将单个URL重定向到另一个URL - 删除查询字符串

时间:2014-06-06 09:32:17

标签: regex apache .htaccess mod-rewrite

我有一个这样的网址,其中456是该类别的ID,并已被重写为seo友好网址:

http://www.mydomain.com/category/nameofcategory/456.htm

(这是通过此重写规则完成的:

RewriteRule ^category/.*/([0-9]+) home/categoryview.php?id=$1   [L,QSA]

我需要保持所有其他类别的完整性。)

我想.htaccess将我的456类别重定向到特定产品的网址:

http://www.mydomain.com/products/nameofproduct/123.htm

如果将以下内容添加到.htaccess文件

Redirect 301 /category/nameofcategory/456.htm http://www.mydomain.com/products/nameofproduct/123.htm

然后将ID添加到网址并返回另一个这样的产品。

http://www.mydomain.com/products/nameofproduct/123.htm?456

有没有办法删除'?456'

1 个答案:

答案 0 :(得分:0)

不要混用mod_rewritemod_alias规则。仅在mod_rewrite中拥有所有规则。

RewriteEngine On

RewriteRule ^category/[^/]+/456.htm /products/nameofproduct/123.htm? [L,R=301,NC]

RewriteRule ^category/[^/]+/([0-9]+) /home/categoryview.php?id=$1 [L,QSA]
相关问题