Htaccess规则忽略不存在的文件?

时间:2013-06-28 08:39:56

标签: .htaccess zend-framework

我有以下网站结构:

http://www.mysite.com/index.php --> main entry for Zend
http://www.mysite.com/.htaccess --> the htaccess file
http://www.mysite.com/models/index.php --> a NON-zend subsite.

我的问题是因为我们允许其他几个网站投放http://www.mysite.com/models/index.php,我们在日志中遇到了几个错误,例如:

 [error] File does not exist: /mnt/models/files/assets/seo/file.gif

换句话说,其他站点正在调用models / index.php,但由于它们包含它的方式,也会调用其他不存在的路径。 E.g:

http://www.mysite.com/models/files/assets/seo/file.gif

我想在htaccess文件中包含一条规则,该规则将阻止所有现有文件报告给ZEND。

在ZEND htaccess文件中,我有:

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

如何在htaccess文件中包含一些忽略models /

中不存在的文件的内容

1 个答案:

答案 0 :(得分:0)

最简单的修复可能是忽略对models/的任何请求。将此行添加到现有规则之上:

RewriteCond %{REQUEST_URI} !(^/models)