htaccess重定向url,参数为不带参数的相同url

时间:2016-04-02 05:15:21

标签: apache .htaccess redirect

尝试将带有结束参数的网址重定向到同一网址上没有该参数的相同网址

www.mydomain.com/efg/abc?id=303
to
www.mydomain.com/efg/abc

找到this answer on the matter并尝试使用它,但它对我不起作用:

RewriteCond %{HTTP_HOST}  ^mydomain\.com$ [NC]
RewriteCond %{REQUEST_URI} /efg/abc
RewriteRule ^efg/abc? [L,R=302]

非常感谢任何帮助。谢谢

2 个答案:

答案 0 :(得分:1)

您可以使用此规则:

RewriteCond %{QUERY_STRING} ^id=303$ [NC]
RewriteRule ^efg/abc/?$ %{REQUEST_URI}? [NC,L,R=302]
目标URI末尾的

?将剥离任何先前的查询字符串。

答案 1 :(得分:0)

您基本上想要删除查询字符串。你用abc的最后一行?是不正确的,因为它不会重定向到任何地方。

这是应该做什么的伎俩(单独这一行,并确保你已经在.htaccess中启用了modrewrite):

RewriteRule ^efg/abc$ /efg/abc? [L,R=301]

我在我的测试域上对上面的测试进行了测试,结果就是这样。