htaccess, mod_Rewrite, cakephp - PullRequest
       14

htaccess, mod_Rewrite, cakephp

1 голос
/ 04 ноября 2010

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

Я размещен на Dreamhost с пользовательской установкой PHP (5.2.14). Сайт возвращает внутреннюю ошибку сервера 500 с этим файлом .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]

app / .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]

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

1 Ответ

6 голосов
/ 04 ноября 2010

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

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

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

...