【问题标题】:301 Redirect Get Parameter URL with htaccess301 使用 htaccess 重定向获取参数 URL
【发布时间】:2015-04-27 19:35:21
【问题描述】:

我需要 301 重定向一个在 url 中包含 get 参数的旧 url。

我需要对 URL 进行 301 处理:

http://www.website.com/choose?cat=womens

到这个网址:

http://www.website.com/womens

我已经搜索并尝试过它没有工作:

RewriteCond %{QUERY_STRING} cat=womens
RewriteRule ^choose\.php$ /womens [L,R=301]

我哪里错了?

【问题讨论】:

    标签: .htaccess url redirect parameters


    【解决方案1】:

    您几乎是正确的,只有 2 个问题:

    1. 根据问题,choose 之后的原始 URI 中不存在.php
    2. 您需要在目标中添加? 以剥离原始查询字符串

    你可以使用:

    RewriteCond %{QUERY_STRING} (?:^|&)cat=([^&]+) [NC]
    RewriteRule ^choose(?:\.php)?$ /%1? [L,R=301,NC]
    

    【讨论】:

    • 啊,是的,没有注意到 php,那是我所基于的示例。太好了,谢谢。如果我有一个 url 也需要做,但与我的示例中的 womens 部分不匹配,我将如何处理您的示例?所以http://www.website.com/choose?cat=kidshttp://www.website.com/baby
    【解决方案2】:

    试试这些:

    RewriteCond %{QUERY_STRING} ^cat=womens$

    重写规则 ^choose$ http://www.website.com/womens? [R=301,L]

    【讨论】:

      猜你喜欢
      • 2017-09-20
      • 1970-01-01
      • 2021-04-01
      • 2014-01-06
      • 2023-03-10
      • 1970-01-01
      • 2014-09-03
      • 2013-08-29
      • 2013-12-21
      相关资源
      最近更新 更多