htaccess, mod_Rewrite, cakephp

Я застрял на несколько часов из-за этого. Я нашел много информации в Интернете, но ничего, что решило бы мою проблему.

Я размещен на Dreamhost с пользовательской установкой PHP (5.2.14). Сайт возвращает 500 Internal Server Error с этим файлом .htaccess.

Похоже, что правило перезаписи также применяется к моему файлу php.cgi, но я не знаю, как этого избежать.

Мой файл журнала показывает, что где-то существует бесконечный цикл «Запрос превысил ограничение в 10 внутренних перенаправлений из-за вероятной ошибки конфигурации».

<IfModule mod_actions.c>
    Options +ExecCGI
    AddHandler php-cgi .php
    Action php-cgi /cgi-bin/php.cgi
    </IfModule>

    <FilesMatch "^php5?\.(ini|cgi)$">
    Order Deny,Allow
    Deny from All
    Allow from env=REDIRECT_STATUS
    </FilesMatch>

    RewriteEngine on
    RewriteBase /
    RewriteRule    ^$ app/webroot/    [L]   
    RewriteRule    (.*) app/webroot/$1 [L]

приложение/.htaccess:

   RewriteEngine On
   RewriteBase /
   RewriteRule    ^$    webroot/    [L]    
   RewriteRule    (.*) webroot/$1    [L]

И приложение/webroot/.htaccess

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

Любая помощь будет оценена по достоинству! Спасибо.


person Tioneb    schedule 04.11.2010    source источник


Ответы (1)


Я полагаю, что это может быть вашей компьютерной графикой. Попробуйте что-то вроде этого?

RewriteEngine on
RewriteBase /
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]
RewriteRule    ^$ app/webroot/    [L]   
RewriteRule    (.*) app/webroot/$1 [L]

Вы также захотите убедиться, что в вашем приложении/webroot/.htaccess не происходит ничего глупого. Возможно, будет полезно опубликовать оба здесь.

person Kevin Stricker    schedule 04.11.2010
comment
Отличная идея! Но не работает... Добавил другой htaccess. - person Tioneb; 04.11.2010
comment
Я наткнулся на измененный ответ как на предложение разорвать труднодоступный цикл перенаправления. Может быть, это поможет. - person Kevin Stricker; 04.11.2010
comment
Великолепно! Это решает проблему, и сайт выглядит полностью функциональным! Могу ли я оставить это так безопасно? - person Tioneb; 04.11.2010
comment
Предполагая, что это ничего не сломает, я не понимаю, почему бы и нет. - person Kevin Stricker; 04.11.2010