htaccess - 将所有请求重定向到域根目录

时间:2011-03-15 10:39:02

标签: .htaccess mod-rewrite

我有一个不再需要的网站,并且有一个保留页面设置,表明它已不再可用。所有对网站页面的请求(加书签或其他)都需要发送到这个页面,这是root index.php页面,所以我使用了一些htaccess来相应地重定向。

我目前正在使用它:

RewriteCond %{REQUEST_URI} !^/index.php$
RewriteRule ^(.*)$ /index.php [R=302,NC,L]

完成这项工作,但将index.php添加到网址 - 即。 www.domain.com访问www.domain.com/index.php

拥有www.domain.com会好得多,但显然我不能这样做:

RewriteCond %{REQUEST_URI} !^/$
RewriteRule ^(.*)$ / [R=302,NC,L]

它在firefox中提供了一个页面无法正确重定向错误。

我已经期望上面检查REQUEST_URL是否不是/ - 即。 www.domain.com然后将其重定向到/例如。 www.domain.com/dave.php - > www.domain.com - 因此www.domain.com通过,但其他一切都被重定向......它实际上在做什么以及如何让它做我想做的事情?

2 个答案:

答案 0 :(得分:14)

就这样使用它:

RewriteRule ^.+$ / [R=302,NC,L]

它会将所有与/不匹配的内容重定向到/

答案 1 :(得分:0)

你的问题解决了吗?如果没有,你试过了吗?

RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . /index.php [L]