2011-08-18 121 views
0

我遇到了阻碍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文件吗?任何帮助将不胜感激,谢谢。

+0

尝试使用'!^/subdir'作为模式。 –

+0

嗨,我试了!^/subdir /结果相同。 – Terry

回答

0

您是否尝试过RewriteCond %{REQUEST_URI} !^/subdir/? REQUEST_URI可能以/开头。

+0

嗨,我试了!^/subdir /结果相同。 – Terry

+0

我也尝试完全删除htaccess文件,并仍然得到一个错误500.我已经通过电子邮件发送我的主机,看看它是否是他们最终造成的问题。 – Terry

0
RewriteCond %{REQUEST_FILENAME} !-f 

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