我正在寻找一个.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。
答案 0 :(得分:6)
%{REQUEST_URI}
变量包含一个前导斜杠,因此它永远不会为空。你可以摆脱它,只使用这个规则:
RewriteRule ^/?$ /splash/ [L,R]
如果您希望浏览器地址栏中显示的网址保持http://www.domain.com/
,请从方括号中移除,R
:[L]
。