2011-03-15 113 views
7

我有一个不再需要的网站直播,并有一个保持页面设置,指出它不再可用。所有对网站页面的请求(书签或其他)都需要发送到这个页面,这是根index.php页面,所以我使用一些htaccess来相应地重定向它。目前我使用这个htaccess - 将所有请求重定向到域根

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

该做的工作,但index.php文件的URL添加了 - 即。 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然后重定向到/ eg。 www.domain.com/dave.php - > www.domain.com - 因此www.domain.com通过,但其他一切都被重定向...它究竟在做什么以及如何让它做我想做的事情?

回答

13

只要使用这样的:

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

会重定向所有不匹配//

+1

但是,这也阻止了所有的图像和其他相关资源的加载。 – Ninj 2014-05-23 12:55:36

+0

@Ninj在这种情况下;您需要使用“RewriteCond”规则排除资源。 – 2014-05-23 13:26:44

0

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

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