首页 文章

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

提问于
浏览
0

目前我正在尝试将网站移动到新的Web服务器 . 该站点使用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 回答

  • 1

    我想你首先要知道发生了什么 .

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

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

    抱歉我的英文 .

相关问题