【问题标题】:CodeIgniter routing - 404 error after moving to new serverCodeIgniter 路由 - 移动到新服务器后出现 404 错误
【发布时间】:2014-11-27 07:10:07
【问题描述】:

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

【问题讨论】:

  • 之前是否在不同的文件夹中?
  • 您应该查看您的 .htaccess 并搜索以 RewriteBase 开头的行。确保它指向您的应用程序正在运行的目录。如果您可以通过http://www.example.com 访问该应用程序,那么它应该只有一个斜线:RewriteBase /。但是如果你有一个子目录,比如http://www.example.com/~user/,在里面添加子目录:RewriteBase /~user/
  • @Ohgodwhy 它是同一个文件夹,因为我将所有文件从旧服务器复制到新服务器。 @giorgio我刚才尝试了几种可能性,但都没有奏效。我猜RewriteBase /毕竟是正确的。

标签: php apache .htaccess codeigniter mod-rewrite


【解决方案1】:

我认为你首先应该弄清楚发生了什么。

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

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

对不起我的英语。

【讨论】:

  • 我添加了一个回声并退出到索引文件的开头,并且显示了回声。这对 CI 意味着什么?我没有对这些文件进行任何更改,它可以在旧服务器上运行...
  • 您应该在文件夹 system/core 中打开文件 CodeIgniter.php。然后找到“show_404”。对于它们中的每一个,您应该在 show_404("{$class}/{$method}") 之前退出并回显某些内容。并观察导致错误的那一行。
  • 知道是什么原因后,可以echo URI看看有没有问题。对不起,可能是不是 CI 造成的。但我想你可以通过这种方式找出发生了什么。
猜你喜欢
  • 2016-02-28
  • 2014-04-17
  • 1970-01-01
  • 2022-12-09
  • 1970-01-01
  • 2018-01-26
  • 2019-07-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多