CodeIgniter路由 - 移动到新服务器后出现404错误

时间:2014-10-02 09:52:51

标签: php apache .htaccess codeigniter mod-rewrite

目前我正在尝试将网站迁移到新的网络服务器。该站点使用CodeIgniter,在旧服务器上,每条路由都有效。在新服务器上,即使我从旧服务器复制整个网站,它们都没有工作。这意味着.htaccess文件没有差异,因为这两个服务器包含完全相同的网站。甚至默认路由都不起作用,只是主页(index.php)。我在.htaccess中包含代码以从路由URL中删除'index.php',但这也不起作用。

如果我尝试访问'1.1.1.1/~user/employees',它会给我一个404错误,这意味着CodeIgniter路由不起作用。控制器文件位于/application/controllers/employees.php,所以我不确定导致问题的原因。

我知道网站上有类似的帖子,但没有一个能解决我的问题。 config / config.php的配置(部分)如下:

$config['base_url'] = '1.1.1.1/~user';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';

我试图更改base_url,但如果它为空,它仍然无效。将uri_protocol更改为REQUEST_URI或PATH_INFO也不起作用。另外,如果我尝试使用1.1.1.1/~user/index.php/employees(因此将'index.php /'放在其间),我仍然无法访问该页面。我也检查了一些Apache设置,AllowOverride设置为ALL,并且安装并启用了mod_rewrite模块。是否有其他一些与我可能错过的服务器配置差异有关的东西?

编辑: 我想我更接近找出问题所在。它可以是Apache或.htaccess(但我已经尝试了很多东西),或者它与服务器URL是1.1.1.1/~user而不是旧服务器上的2.2.2.2这一事实有关。也许我应该更改我的.htaccess的baseurl或位置?这与我的问题类似,但移动.htaccess并没有解决问题:Url routing errors in php in codeigniter。我可能会尝试重新安装Apache。

1 个答案:

答案 0 :(得分:1)

我认为你首先要知道发生了什么。

  • 对CI的所有请求都通过index.php,因此您只需回显一些内容并在第一行的index.php文件中退出。

  • 如果页面显示您回显的内容,则表示CI中存在错误,否则不是因为CI。你可以专注于导致问题的原因。

抱歉我的英文。

相关问题