CakePHP .htaccess нарушает доступ к логам apache - PullRequest
0 голосов
/ 12 июля 2011

Я прочитал Раздел Cakes на 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 Ответ

2 голосов
/ 12 июля 2011

Если вы хотите игнорировать файлы с расширением "cgi", вы должны использовать:

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

. - это подстановочный знак в регулярных выражениях.

Примечание. Это правило должно появляться перед правилом подстановки «Все» (. *).

...