【问题标题】:htaccess - redirecting all requests to domain roothtaccess - 将所有请求重定向到域根目录
【发布时间】:2011-03-15 10:39:01
【问题描述】:

我有一个不再需要上线的网站,并且设置了一个保留页面来声明它不再可用。所有对网站页面的请求(书签或其他)都需要发送到这个页面,这是根 index.php 页面,所以我使用了一些 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 然后将其重定向到 / 例如。 www.domain.com/dave.php -> www.domain.com - 因此 www.domain.com 通过,但其他一切都被重定向......它实际上在做什么以及如何让它做我想做的事?

【问题讨论】:

  • 这允许手动文件限制。谢谢。解决了我的问题。

标签: .htaccess mod-rewrite


【解决方案1】:

就这样使用吧:

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

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

【讨论】:

  • 但这也会阻止加载所有图像和其他相关资源。
  • @Ninj 在这种情况下;您需要使用 RewriteCond 规则排除资源。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-08
    • 2017-06-26
    • 2015-12-29
    • 2014-02-21
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2016-11-30
    相关资源
    最近更新 更多