Вопрос по apache – CakePHP не работает переписывание URL на Ubuntu

11

все. На этот раз я пытаюсь использовать cakephp, но у меня есть «перезапись URL», неправильно настроенная на вашем сервере. 1) Помогите мне настроить его 2) Я не могу переписать URL-адреса. Я мог бы знать, что это проблемы apache и .htaccess, такие как / etc / apache2 / sites-avaliable / default и каждый каталог .htaccess.

Моя среда разработки ...

Ubuntu12.04 on vmware fusion4 apache2.2.22 mysql5.5 php5.3.10 cakephp2.1

Мой процесс отслеживается ...

1) /etc/apache2/httpd.conf

<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>

2) включение mod_rewrite

sudo a2enmod rewrite
sudo service apache2 reload

3) редактирование / etc / apache2 / sites-avaliable / default (от AllOverride Нет до AllOverride All)

<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>

prompt: sudo service apache2 reload

4) редактирование или проверка каждого файла .htaccess - & gt; корневой каталог тортов

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

- & gt; корневой каталог приложения

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

- & gt; каталог webroot

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

Этот вопрос решен, спасибо.

Я сделал все, кроме шага 1 .. спасибо ^^ & quot; sk8terboi87 ツ
Для меня это помогло. sudo a2enmod переписать & amp; перезагрузка службы sudo apache2 mac
определятьdoes not work Dunhamzzz

Ваш Ответ

3   ответа
0

Проверьте, если файлhttp://your_domain_name/css/cake.generic.css является доступным из вашего браузера. Если нет, вы получите предупреждение на домашней странице по умолчанию

Если у тебя есть{HOME}/css Каталог на корневом уровне, UrlRewriting не будет перенаправлятьhttp://your_domain_name/css/cake.generic.css в{HOME}/app/webroot/css/cake.generic.css.

Таким образом, css-файл не будет найден, что приведет к сообщению о том, что перезапись URL не настроена должным образом. (Посмотрите на файл приложения / View / Pages / home.cpt)

Solution: Полностью удалить{HOME}/css Директория на корневом уровне. Поместите свой CSS-файл в{HOME}/app/webroot/css.

6

У меня тоже была эта проблема. Оказывается.htaccess файл не копировался вместе с источником cakePHP. Это распространенная проблема при использовании команды cp или отсутствии скрытых файлов, видимых в файловом браузере, если только вы не копируете каталог верхнего уровня.

Прямое копирование файла в папку моего проекта исправило это без необходимости связываться с моими настройками apache.

cp ~/git/cakePHP/.htaccess ~/project/folder/
-1

Это может быть проблема с правами доступа к файлу. Попробуйте рекурсивно установить разрешения 777 для каталогов webroot и tmp. Для каталога tmp может потребоваться sudo.

sudo chmod -R 777 /path/to/app/webroot/
sudo chmod -R 777 /path/to/app/tmp/
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Shinya Ota

Похожие вопросы