【问题标题】:htaccess 301 redirect rule to remove part of a query string from URLs, but leave the resthtaccess 301 重定向规则从 URL 中删除部分查询字符串,但保留其余部分
【发布时间】:2012-07-17 09:45:11
【问题描述】:

我正在尝试找到一个重定向,该重定向将从 URL 中删除部分查询字符串,但保留剩余的查询字符串。

现在我可以通过一个 URL 重定向很好地做到这一点,但是这样的 URL 有数百个。所以我试图找到一个规则,可以一举为所有这些人做到这一点,所以我不必为每个人都制定一个规则,任何新的都会自动重定向。

我正在尝试从 URL 中删除 start=0&,以下是一些示例:

www.example.com/products.php?start=0&category=Pens%20Ballpens

也重定向:

www.example.com/products.php?category=Pens%20Ballpens

www.example.com/products.php?start=0&category=Jackets

也重定向:

www.example.com/products.php?category=Jackets

【问题讨论】:

    标签: .htaccess redirect mod-rewrite query-string


    【解决方案1】:

    尝试将其添加到文档根目录中的 htaccess 中:

    RewriteEngine On
    RewriteCond %{QUERY_STRING} ^(.*)&?start=0(.*)$ 
    RewriteRule ^/?products\.php$ /products.php?%1%2 [R=301,NE]
    

    【讨论】:

    • 谢谢你,对于没有空格的 url 可以正常工作,但是当 url 有空格时,重定向如下:例如:www.xxxxx.co.uk/products.php?start=0&category= Pens%20Ballpens 也重定向:www.xxxxx.co.uk/products.php?&category=Pens%2520Ballpens 在网址中添加 %2520,而不是 %20
    • @moobot 我的错,查看编辑,您需要在规则中添加 NE 标志。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-04
    • 1970-01-01
    • 2013-07-26
    • 2012-08-16
    • 2014-11-11
    • 2021-10-25
    • 1970-01-01
    相关资源
    最近更新 更多