Проблема перенаправления Cakephp - PullRequest
1 голос
/ 09 августа 2011

У меня проблема слишком большого количества перенаправлений на одном сайте CakePHP.

Вот сайт: http://pexinxas24.com/

Этот домен указывает на корневой каталог сайта, а не на папку приложения.

Вот код, который находится в htaccessкорневой папки.

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

Вот код, который помещается в htaccess папки приложения.

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

Я не получаю никаких ошибок PHP или cakephp.

Этот сайт всегда перенаправляет в корень сайта.Весь код работал правильно на старом сервере.Я только что изменил сервер и получаю эту ошибку.

Ответы [ 2 ]

3 голосов
/ 09 августа 2011

Похоже, вы используете Amazon-EC2, верно?;)

Ну, возможно, вы не перенаправлены по следующим причинам:

  1. mod_rewrite не включен : загляните внутрь своегоhttpd.conf, у вас должна быть следующая строка без комментария:

    LoadModule rewrite_module modules / mod_rewrite.so

  2. Вы не включили переопределение в htaccess : Загляните внутрь своего http.conf для директивы
    «Каталог», внутри у вас должно быть что-то вроде этого:

        <Directory "/var/www/html">
           Options Indexes FollowSymLinks
           AllowOverride All
           Order allow,deny
           Allow from all
        </Directory>
    

    Самая важная строка предыдущего кода - AllowOverride All, для экземпляров amazon по умолчанию установлено AllowOverride none, поэтому вы должны изменить его на All , после этого необходимо перезапустить сервер apache , чтобы отразить изменения.

Надеюсь, это поможет.

0 голосов
/ 22 июля 2013

Это старая ветка. Возможно, если вы понимаете о apache2, ответа Исмаэля вполне достаточно, но если вы новичок в этом вопросе, как и я, было бы полезно сказать, что в apache2 в настоящее время вы должны "заменить" часть, где он говорит

mod_rewrite не включен: загляните внутрь своего httpd.conf, у вас должна быть следующая строка без комментария: LoadModule rewrite_module modules / mod_rewrite.so

для копирования rewrite.load из доступных модов до с поддержкой модов :

cp /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

...