301 使用 htaccess 重定向获取参数 URL
301 Redirect Get Parameter URL with htaccess
我需要 301 重定向旧的 url,它在 url 中包含一个 get 参数。
我需要 301 URL:
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]
我哪里错了?
你几乎是正确的,只有 2 个问题:
.php
根据问题 choose
之后的原始 URI 中不存在
- 您需要在目标中添加
?
以去除原始查询字符串
您可以使用:
RewriteCond %{QUERY_STRING} (?:^|&)cat=([^&]+) [NC]
RewriteRule ^choose(?:\.php)?$ /%1? [L,R=301,NC]
试试这些:
RewriteCond %{QUERY_STRING} ^cat=womens$
重写规则^选择$http://www.website.com/womens? [R=301,L]
我需要 301 重定向旧的 url,它在 url 中包含一个 get 参数。
我需要 301 URL:
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]
我哪里错了?
你几乎是正确的,只有 2 个问题:
.php
根据问题- 您需要在目标中添加
?
以去除原始查询字符串
choose
之后的原始 URI 中不存在
您可以使用:
RewriteCond %{QUERY_STRING} (?:^|&)cat=([^&]+) [NC]
RewriteRule ^choose(?:\.php)?$ /%1? [L,R=301,NC]
试试这些:
RewriteCond %{QUERY_STRING} ^cat=womens$
重写规则^选择$http://www.website.com/womens? [R=301,L]