Итак, я настраиваю SVN на своем домашнем сервере (Ubuntu 9.1) и хочу, чтобы сразу же просматривали любые изменения, внесенные в мое приложение CodeIgniter.Бесконечная петля на комбинации RewriteRules
Итак, моя рабочая копия живет в/home/myname/environment/development/appname.
Мой ВХост доступен в dev.appname.myname.ca и конфигурации выглядит следующим образом:
DocumentRoot /home/myname/environments/development/
ServerName dev.myname.ca
ServerAlias dev.*.myname.ca
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.* [NC]
RewriteCond %{HTTP_HOST} ^dev.([^\.]+)\.myname\.ca
RewriteCond /home/myname/environments/development/%1/trunk/ -d
RewriteRule ^(.*) /%1/trunk/public/$1
Таким образом, собирается dev.appname.myname.ca бы указать/дома/MyName/среды/развитие/имя_приложение/багажник/общественность.
Теперь, это является приложение CodeIgniter, мне нужно перенаправить все запросы от общественности/к общественности/index.php, поэтому файл .htaccess в общественных местах/выглядит следующим образом:
RewriteEngine On
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ index.php/$1 [L]
У меня есть это часть в файле .htaccess, потому что на живом производственном сайте у меня не будет доступа к конфигурации сервера, поэтому мне нужно будет переопределить его.
Проблема в том, что я получаю цикл перенаправления и, в конечном счете, ошибку 500.
От /var/log/apache2/error.log:
redirected from r->uri = /appname/trunk/public/index.php/appname/trunk/public/index.php/appname/trunk/public/index.php/appname/trunk/public/index.php/appname/trunk/public/index.php/appname/trunk/public/index.php/appname/trunk/public/index.php/
Как можно перенаправить запрос на надлежащий общественный/каталог (в данном случае/дома/MyName/сред/разработка/APPNAME/trunk/publc) и THEN направлять все запросы от public/public/index.php?
Я знаю, что это длинный вопрос - спасибо за вашу помощь. :)
Если вы сделаете это CodeIgniter не сработает.Флаг [L] означает, что он перенаправляется на index.php, а затем больше не перенаправляет. –