Перенос установки CodeIgniter на поддомен вызывает 500 внутренних ошибок сервера - PullRequest
3 голосов
/ 09 марта 2012

На моем новом поддомене домашняя страница работает нормально, но все остальное выдает 500 Internal Server Error. Я уверен, что это проблема .htaccess. У меня есть приложение на основе CodeIgniter на GiftFlow.org, и оно работает нормально.

веб-корень /var/www/vhosts/giftflow.org/httpdocs

Из панели управления хостингом я создал поддомен favorece.giftflow.org и клонировал все в него.

web root /var/www/vhosts/favorece.giftflow.org/httpdocs

Когда я звоню favorece.giftflow.org из моего браузера, страница индекса появляется нормально, включая CSS, но когда я пытаюсь перейти на любую другую страницу, я получаю 500 Internal Server Error. Мой журнал ошибок Apache говорит:

Запрос превысил предел 10 внутренних перенаправлений из-за возможной ошибки конфигурации. Используйте LimitInternalRecursion, чтобы увеличить лимит, если это необходимо. Используйте 'LogLevel debug', чтобы получить обратный след.

Вот мой base_url в приложении CodeIgniter / config / config.php

$config['base_url'] = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 's' : '').'://'.$_SERVER['HTTP_HOST'].str_replace('//','/',dirname($_SERVER['SCRIPT_NAME']).'/');

И мой .htaccess файл в корне favorece.giftflow:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|assets|user_guide|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /giftflow/index.php/$1 [L]

Ответы [ 2 ]

8 голосов
/ 09 марта 2012

Вы перенаправляете на /giftflow/index.php постоянно. Может помочь RewriteBase, а также дополнительные флаги для RewriteRule. Попробуйте:

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [NC,L,QSA]

Кроме того, CI обычно автоматически обнаруживает base_url, так что вы, скорее всего, в безопасности, оставив его пустым. Логика, которую вы определяете в вашем config.php, вероятно, лучше всего помещать и в основной файл index.php.

2 голосов
/ 20 мая 2014

да, это работает ...!

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} ^/system.*
RewriteRule ^(.*)$ index.php?/$1 [NC,L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?/$1 [L]

Я пробую в http://mango.penguintechno.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...