.htaccess - 没有请求的URI时

时间:2012-12-14 16:24:24

标签: .htaccess

我正在寻找一个.htaccess文件,允许任何请求传递到其原始目标但重定向到特定文件夹(在这种情况下为启动画面)是没有指定目标。我对.htaccess并不十分熟悉,并希望得到一些帮助。

示例:我正在请求http://www.domain.com/folder/file.php,它应该通过。但是,如果我要求http://www.domain.com/,则应该重定向到http://www.domain.com/splash/

到目前为止,我已将其正确地重定向到/splash/,但将 所有内容 重定向到/splash/

<IfModule mod_rewrite.c>
    RewriteEngine On

    # If the requested URI is empty...
    RewriteCond %{REQUEST_URI} !^$

    # ...then redirect to the "splash" folder
    RewriteRule .* splash [L]

    # Otherwise rewrite the base
    RewriteBase /

    # If the request is not a folder or a file, redirects to index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>

谢谢!

编辑:重要的一点是将http://www.domain.com/重定向到http://www.domain.com/splash/,但允许直接访问http://www.domain.com/index.php

1 个答案:

答案 0 :(得分:6)

%{REQUEST_URI}变量包含一个前导斜杠,因此它永远不会为空。你可以摆脱它,只使用这个规则:

RewriteRule ^/?$ /splash/ [L,R]

如果您希望浏览器地址栏中显示的网址保持http://www.domain.com/,请从方括号中移除,R[L]