Htaccess mod_rewrite阻止执行php文件

时间:2011-08-18 17:37:15

标签: php .htaccess mod-rewrite

我在使用htaccess mod_rewrite时出现问题,导致php文件无法直接执行。

该网站似乎在MVC框架上运行(不幸的是100%确定哪一个)并且请求通过路由器类发送。我有一个子目录,我想从路由中排除,并直接执行其文件。

这是我当前的htaccess文件:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA]

我尝试使用以下行直接排除我想直接执行的子目录,但它没有区别:

RewriteCond %{REQUEST_URI} !^subdir/(.*)

有没有办法直接在subdir中执行php文件?非常感谢任何帮助,谢谢。

2 个答案:

答案 0 :(得分:0)

你试过RewriteCond %{REQUEST_URI} !^/subdir/吗? REQUEST_URI可以以/开头。

答案 1 :(得分:0)

RewriteCond %{REQUEST_FILENAME} !-f

此行允许您直接执行文件。如果您收到错误500,请检查脚本是否存在致命错误/未捕获的异常