November 2, 2012

YII Framework Clean URL + vhost_alias = Error 500?

Всем привет! Не так давно заморочился настройкой на своем рабочем ноутбуке vhost_alias и bind9 для того чтобы можно было сразу кидать веб-приложения в /home/rail/web/example/www (вместо example директория с любым названием) и автоматом получать в браузере http://example.dev

Так вот, сегодня решил поставить YII Framework для разработки нового проекта и при настройке чпу столкнулся с излюбленной ошибкой всех веб-разработчиков - Internal Server Error (500).

В логах Apache было:

[Fri Nov 02 12:58:20 2012] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

Как оказалось, для корректной работы правила редиректа с vhosts_alias нужно его немного подправить:

AddDefaultCharset utf-8
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on

RewriteRule ^favicon.ico$ - [F,L]
# если директория или файл существуют, использовать их напрямую
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# иначе отправлять запрос на файл index.php
#RewriteRule . index.php RewriteRule ^([^/].\*)$ /index.php/$1 [L] #