.htaccess强行隐藏主页uri

时间:2015-06-09 23:17:20

标签: .htaccess redirect

我有以下.htaccess代码:

RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^$ subpage [L]

所以基本上如果有人访问" www.example.com,"他会看到" www.example.com/subpage"的内容。没有网址改变。这很好。

但是,他们仍然可以通过www.example.com/subpage访问该页面。"如果发生这种情况,我希望将网址更改回" www.example.com。"

有可能吗?到目前为止,我所尝试的内容给了我重定向循环。

1 个答案:

答案 0 :(得分:1)

您需要一个与实际请求匹配的附加规则,而不是URI。由于重写引擎循环,URI不断变化,因此您需要匹配%{THE_REQUEST}变量。您需要此规则之前您在问题中的规则:

RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteCond %{THE_REQUEST} \ /+subpage(\?|\ |$)
RewriteRule ^ / [L,R=301]