Htaccess 301通过剥离字符串url的一部分重定向到正确的url

时间:2014-01-07 03:28:16

标签: .htaccess redirect http-status-code-301

Pl建议,我们在使用过的部分为网站创建了大量重复内容时犯了一个错误 如何使用htaccess删除: - 'brand'&来自网址和广告的“位置”重定向到更正网址

例如。 正确的网址

   http://www.abc.com/index.php?option=com_toys&view=category&Itemid=3

网址不正确

 http://www.abc.com/index.php?option=com_toys&view=category&Itemid=3&brand=1
 http://www.abc.com/index.php?option=com_toys&view=category&Itemid=3&brand=1&location=delhi

更正网址

   http://www.abc.com/index.php?option=com_toys&view=category&Itemid=3&limitstart=45

网址不正确

     http://www.abc.com/index.php?option=com_toys&view=category&Itemid=3&brand=1&limitstart=45
     http://www.abc.com/index.php?option=com_toys&view=category&Itemid=3&brand=1&location=delhi&limitstart=45

如何在htaccess中创建301重定向,以便任何具有com_toys的网址(包含品牌和/或位置)都可以被剥离并重定向到正确的网址。

1 个答案:

答案 0 :(得分:1)

尝试:

RewriteEngine On

RewriteCond %{QUERY_STRING} (^|&)option=com_toys(&|$)
RewriteCond %{QUERY_STRING} ^(.*)&brand=([^&]+)(.*)$
RewriteRule ^index\.php$ /index.php?%1%3 [L,R=301]

RewriteCond %{QUERY_STRING} (^|&)option=com_toys(&|$)
RewriteCond %{QUERY_STRING} ^(.*)&location=([^&]+)(.*)$
RewriteRule ^index\.php$ /index.php?%1%3 [L,R=301]

在文档根目录中的htaccess文件中,最好高于您已有的任何规则。