我遇到了一个奇怪的问题。我在某些页面上遇到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.
答案 0 :(得分:0)
在您的配置文件中,您确保将$ config [' base_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]
答案 1 :(得分:0)
我建议您检查路由配置$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]