htaccess重定向子目录,但index.php除外

时间:2013-09-03 20:19:05

标签: apache mod-rewrite url-rewriting

我在www.mydomain.com/dir上有一个htaccess文件。

我想将请求从www.mydomain.com/dir/*重定向到www.mydomain.com/dir,但www.mydomain.com/dir/index.php除外

我试过了:

RewriteEngine on
RewriteCond DOCUMENT_ROOT/ !-f
RewriteRule ^/*$ index.php

我做错了什么?

2 个答案:

答案 0 :(得分:0)

这应该可行:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /dir/

RewriteRule (?!^index\.php$)^.+$ index.php [L,NC]

答案 1 :(得分:0)

几乎可以工作!

www.mydomain.com/dir/.htaccess:

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /dir/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (?!^index\.php$)^.+$ index.php [L,NC]

但是当我访问 dir 中的任何文件或子目录时,我得到404. index.php位于 dir 中,并且对中的文件或子目录的任何请求都是应将em> dir 重定向到 dir / index.php