0

我的网址是http://www.example.com/eg1?redirect=xyz,应该是http://www.example.com/eg1

为此编写的重写规则如下:

RewriteCond %{Query_STRING} ^redirect=xyz$
RewriteRule ^(.*)$ /examples/$1? [L]

重定向工作正常,但查询字符串仍然附加。当我把[R]标志放在最后的问号(?)很好用并删除了查询字符串,但带有[L]标志它不起作用。在我的情况下,我没有重定向,只是将它传递到另一个包含内容的目录。

4

1 回答 1

2

规则很好:

RewriteCond %{Query_STRING} ^redirect=xyz$
RewriteRule ^(.*)$ /examples/$1? [L]

如果您希望它反映在地址栏上,您必须指定一个外部重定向。即R带有Temporary Redirect( R=302) 或Permanent Redirect( R=301)。随着L. 默认情况下R会进行临时重定向。

RewriteRule ^(.*)$ /examples/$1? [R,L]

来自评论:

L与 flsg 一起添加R

RewriteRule ^(.*)$ $1? [R,L] 
于 2012-02-21T12:24:11.223 回答