CakePHP 2.0.4 «Перезапись URL не настроена должным образом на вашем сервере» - PullRequest
2 голосов
/ 29 ноября 2011

Я пытался настроить CakePHP в разделе разработки моего сервера, и я не могу решить проблему с ошибкой «Перезапись URL-адреса неправильно настроена на вашем сервере». Я подозреваю, что я не настраиваю файлы .htaccess с правильной RewriteBase. Я пробовал множество различных RewriteBase для каждого файла, но я не могу найти правильные, и Cake не дает мне никакой информации, кроме «не работает» (ошибки перезаписи URL не заканчиваются в журнале ошибок Cake).

У меня нет доступа к моему файлу httpd.conf, но я использовал .htaccess и mod_rewrite с другими фреймворками (Wordpress и CodeIgniter) без проблем.

Моя базовая ссылка на сайт: http://dev.domain.com/cake/

Мой путь к базовому серверу: / home / username / public_html / dev / cake /

Корень торта .htaccess:

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

Каталог приложений Cake .htaccess:

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

Cake webroot directory .htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /cake/app/webroot
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule>

Ответы [ 4 ]

6 голосов
/ 29 ноября 2011

Вы создали новый файл макета default.ctp, а затем «Перезапись URL-адреса неправильно настроена на вашем сервере». появился?

Если это так, это случилось со мной. Работает просто отлично. Я думаю, что Cake выдает здесь сообщение об ошибке.

5 голосов
/ 06 июня 2012

Проблема с CSS. Если вы не делаете страницу с макетом торта по умолчанию, и в вашем новом макете у вас нет css: cake.generic.css по умолчанию, эта ошибка будет отображаться на странице home.ctp. Посмотрите в коде home.ctp (View / Pages) и посмотрите - id="url-rewriting-warning" из <p>, где это сообщение об ошибке имеет значение в cake.generic.css display:none.

0 голосов
/ 20 ноября 2013

Для меня проблемой была проблема css, упомянутая в другом ответе.

Если вы изменили файл css в макете по умолчанию, вам может потребоваться добавить следующие строки в ваш новый файл css:

#url-rewriting-warning {
    display:none;
}

... до тех пор, пока перезапись работает другими способами.

0 голосов
/ 29 ноября 2011

Как выглядит ваш vhost.conf? Если у вас есть правильный путь в DocumentRoot, вам вообще не нужно указывать RewriteBase в .htaccess. Просто придерживайтесь значений по умолчанию.

Попробуйте DocumentRoot /home/username/public_html/dev/cake/app в vhost и удалите RewriteBases из своего .htaccess.

...