我想重定向 Wordpress 网站的主页,但前提是原始 URL 上没有任何查询字符串。这有效:
RedirectMatch 307 ^/$ http://www.consumerenergyreport.com/ticker
...但会重定向查询的 URL。我试过:
RewriteCond ! %{QUERY_STRING}
...但这似乎不适用于 RedirectMatch,只适用于 RewriteRule(go fig)。
答案1
认为你必须使用 mod_rewrite
RewriteCond %{THE_REQUEST} ^GET\ /\ HTTP
RewriteRule / http://www.sod.com/ [R=307]
这也意味着它不会将 POST 请求重定向到主页。不确定这是否是您想要的。但我认为是的,因为它可能暗示参数,例如查询字符串。
如果你还想重定向 HEAD 请求
RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /\ HTTP
RewriteRule / http://www.sod.com/ [R=307]
如果你不想使用,THE_REQEST
那么你可以用两个条件来实现
RewriteCond %{REQUEST_URI} =/
RewriteCond %{QUERY_STRING} =""
RewriteRule / http://www.sod.com/ [R=307]
编辑:RedirectMatch 不是 mod_rewrite 的一部分。它是 mod_alias 的一部分,因此完全独立于任何重写条件。