CodeIgniter: ошибка 404, вызывающая ошибку 500 / Routes not valid - PullRequest
1 голос
/ 14 января 2012

У меня странная проблема.Я получаю ошибку 500 для некоторых страниц (которые не существуют, и я пытаюсь их просто вызвать ошибку 404 и проверить это), когда я пытаюсь вызвать ошибку, а затем иногда я получаю фактическую страницу ошибки 404.

Вот мой .htaccess:

Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.php
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|resources|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA] AddHandler cgi-script .pl

Может ли это быть причиной этого?У кого-нибудь есть мысли относительно того, что может вызвать это?У меня установлен base_url на соответствующий домен.Кажется, проблема связана с линиями RewriteEngine и RewriteBase, но я не могу понять, как их настроить.Проблема, кажется, не в моих маршрутах.Если я закомментирую все из них, кроме контроллера по умолчанию и 404_override, я все равно получу ту же ошибку:

Unable to load your default controller. Please make sure the controller specified in your Routes.php file is valid.

Ответы [ 2 ]

0 голосов
/ 21 января 2012

Я предлагаю вам проверить конфигурацию маршрута $route['default_controller']=valid controller. если это не привело к ошибке, вы можете изменить .htaccess.

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/system.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?/$1 [L]
0 голосов
/ 19 января 2012

В вашем конфигурационном файле вы установили для $ config ['base_url'] значение ''? Это необходимо при использовании чистых URL.

Еще одна попытка - установить для $ config ['log_threshold'] значение 4, после чего вы сможете увидеть, где именно возникает ошибка.

Только для справки. Хорошо известный .htaccess

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt|humans\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...