【发布时间】:2011-12-13 04:16:26
【问题描述】:
我有一个website I built on codeiginiter 2.0.1(我自己的个人网站)。我使用 WAMP 在本地构建了这个应用程序,它可以 100% 正常工作(本地)。我将此上传到我的实时服务器,但我不断收到“404 page not found”错误。这个错误来自 codeigniter 通过我的 Home->Error 方法,而不是服务器,所以 code igniter 肯定在工作。
这是我的路线配置。如果我将 404_override 更改为“Home”。它会按原样加载我的家庭控制器,但是当我转到任何页面时,我都找不到 404 页面。
$route['default_controller'] = 'Home';
$route['404_override'] = 'Home/Error';
我怀疑这可能与我的 .htaccess 和 Codeigniter 配置有关。
// Codeigniter Config.php - Note: My Hosting is with Godaddy. [CGI/FastCGI]
$config['index_page'] = 'index.php?';
// Tried Auto and All others, REQUEST_URI works fastest for me.
$config['uri_protocol'] = 'REQUEST_URI';
我的 .htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?$1 [L]
我通过 SO 和 Google 尝试了很多链接来解决这个问题,我反复尝试的链接如下。
- CodeIgniter 404 Page Not Found, but why?
- codeigniter 404 on existing controller
- http://codeigniter.com/forums/viewthread/60469/#297477
- http://codeigniter.com/wiki/Godaddy_Installaton_Tips
- 还有很多
我确定这与 htaccess 和 mod_rewrite 有关,有什么想法吗?
更新
如果我将
$route['404_override'] = 'Home/Error' 更改为我的任何控制器,它们会按预期显示和工作,但由于某种原因,它总是抛出 404 页面。
如果我去:/index.php/home - 我收到错误 No input file specified.
【问题讨论】:
-
确保您的主机已激活 apache 中的 url 重写。
-
godaddy 上的默认设置 - help.godaddy.com/article/899
标签: php .htaccess mod-rewrite codeigniter-2 codeigniter-url