CakePHP .htaccess打破对apache日志的访问

时间:2011-07-11 21:34:13

标签: apache .htaccess cakephp mod-rewrite

我已阅读Cakes section on Apache,但不包括我的问题。

这是我的.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule    ^$ /app/webroot/    [L]
    RewriteRule    (.*) /app/webroot/$1 [L]
</IfModule>

(我必须添加前导/以使路径绝对,以使其在我的实时服务器上运行,但我认为这不会导致我的问题。)

我使用转销商帐户来托管我的网站,并且控制面板内置的功能之一是能够快速读取最近的apache访问日志。为方便起见,CP安装CGI脚本以将最后约100行从日志转储到浏览器中。

但是,我的.htaccess正在重写所有请求,因此CGI脚本无法执行,并且不会处理日志。如果我删除.htaccess,我可以正常执行CGI并查看日志。

我的主持人证实这是原因,但由于它是第三方代码等,因此不再详述。

我可以对.htaccess进行任何更改,以允许CGI脚本正确执行,并提供对我的日志(存储在public_html上方)的访问权限。

我已尝试RewriteRule ^(.cgi) - [L]忽略cgi个文件,但似乎没有效果。

感谢您的任何见解。

1 个答案:

答案 0 :(得分:2)

如果你想忽略扩展名为“cgi”的文件,你可以使用:

RewriteRule ^.*\.cgi$ - [L]

.是正则表达式中的通配符。

注意:此规则必须出现在“Everything”(。*)通配符规则之前。