Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 301使用htaccess重定向获取参数URL_.htaccess_Url_Redirect_Parameters - Fatal编程技术网

.htaccess 301使用htaccess重定向获取参数URL

.htaccess 301使用htaccess重定向获取参数URL,.htaccess,url,redirect,parameters,.htaccess,Url,Redirect,Parameters,我需要301重定向一个旧url,该url中包含get参数 我需要301的网址: http://www.website.com/choose?cat=womens 要访问此URL,请执行以下操作: http://www.website.com/womens 我已经搜索并尝试过了,但它不起作用: RewriteCond %{QUERY_STRING} cat=womens RewriteRule ^choose\.php$ /womens [L,R=301] 我哪里出错了?你几乎是对的,只有两

我需要301重定向一个旧url,该url中包含get参数

我需要301的网址:

http://www.website.com/choose?cat=womens
要访问此URL,请执行以下操作:

http://www.website.com/womens
我已经搜索并尝试过了,但它不起作用:

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

我哪里出错了?

你几乎是对的,只有两个问题:

  • 根据问题选择
    后,
    .php
    在原始URI中不存在
  • 您需要在目标中添加
    ,以去除原始查询字符串
  • 您可以使用:

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

    RewriteCond%{QUERY_STRING}^cat=womens$


    重写规则^choose$?[R=301,L]

    啊,是的,我没有注意到php,这是我所基于的示例。太好了,谢谢。如果我有一个url也需要执行,但与我的示例中的
    女性部分不匹配,我将如何使用您的示例来执行?所以
    http://www.website.com/choose?cat=kids
    http://www.website.com/baby