我的网址为http://www.example.com/eg1?redirect=xyz
,应为http://www.example.com/eg1
为此编写的重写规则如下:
RewriteCond %{Query_STRING} ^redirect=xyz$
RewriteRule ^(.*)$ /examples/$1? [L]
重定向工作正常,但查询字符串仍然附加。当我把[R]
标记在问题标记(?
)时,最终效果很好并删除了查询字符串,但[L]
标记它不起作用。在我的情况下,我没有重定向,只是将它传递到另一个保存内容的目录。
答案 0 :(得分: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]