Перезапись URL-адреса CakePhp не настроена
-
21-12-2019 - |
Вопрос
Я сталкиваюсь с проблемой с моим приложением CakePhp ...
Я использую cakephp 2.4.3 с xampp на macosx mavericks, и я получаю сообщение: URL rewriting is not properly configured on your server. 1) Help me configure it 2) I don't / can't use URL rewriting
Но я настроил сайты в соответствии с руководством URL-адреса ...
У меня есть Virtualhost:
<VirtualHost 127.0.0.1>
ServerName cake84.loc
DocumentRoot "/Users/me/Sites/c84/cakephp"
DirectoryIndex index.php
<Directory "/Users/me/Sites/c84/cakephp">
AllowOverride All
Allow from all
</Directory>
</VirtualHost>
.
С Ref в Hosts Файл: 127.0.0.1 cake84.loc
файл .htaccess присутствует и содержит:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
.
И у меня есть файл /aplication/xampp/etc/httpd.conf с строкой: Генеракодицетагкод незамененный ...
Я что-то забываю? !!
Обратите внимание, что та же конфигурация работала неделю назад, но в родительской папке.Единственное изменение, которое я сделал, должен был переместить весь сайт от: LoadModule rewrite_module modules/mod_rewrite.so
к /Users/me/Sites/c84
, а затем изменив путь виртуализма.(И наверняка, перезапустил Apache ...)
Решение
Ну ... проблема решена ...
Похоже, что CakePhp имеет проблемы, чтобы правильно обнаружить, если режим Rewrite URL включен ... Лучший способ - вызвать URL, который должен быть переписан, чтобы проверить перезарядку URL.
В моем случае переписывание URL было правильно включено, хотя я получил это сообщение ... но, к сожалению, URL я позвонил, чтобы проверить его, имел ошибку синтаксиса (опечатки ...), что я пропустил, и ничего не было показано...
Другие советы
Я также на Mavericks.Для меня мне пришлось редактировать файл:
/private/etc/apache2/users/myusername.conf
(замените myusername.conf с именем пользователя на вашем компьютере.)
В этом файле мне пришлось изменить строки:
Options Indexes MultiViews
для Options Indexes MultiViews FollowSymLinks
и
AllowOverride None
для AllowOverride All
,
а затем перезапустить Apache, решил проблему.
Надеюсь, это поможет кому-то еще гугулировать для решения на Mavericks.