3

我正在寻找一个.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 _

4

1 回答 1

8

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

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

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

于 2012-12-14T16:41:00.177 回答