重定向到子文件夹,但如果使用.htaccess请求,则允许访问其他子文件夹

时间:2011-07-19 12:54:42

标签: apache .htaccess mod-rewrite redirect

我想将请求从我的网站根目录(或非现有请求)重定向到子文件夹 my / subfolder / index.php ,但允许访问其他存在的子文件夹。

我已经搜索并尝试了很多问题,但没有人符合我的情况!

1 个答案:

答案 0 :(得分:2)

一个非常标准的选项可能是:

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ my/subfolder/index.php [NC,L]

前三行检查资源是否存在于当前位置,如果是,则第四行返回该资源。第五行将其他所有内容重写为指定的index.php

另一种选择是:

FallbackResource my/subfolder/index.php

如果没有所有复杂的重写规则,这几乎完全相同。