【问题标题】:CodeIgniter app shows 404 when moved to productionCodeIgniter 应用程序在移至生产时显示 404
【发布时间】:2011-04-26 06:41:00
【问题描述】:

我已经在本地机器上使用 CodeIgniter 完成了一个应用程序的开发,并于昨天将其移至生产服务器(实时站点)。

我的问题是,当我加载网站时,它立即显示“找不到页面”错误 (404)。我 100% 确定这与服务器本身无关,因为干净的 CodeIgniter 安装工作得非常好。

我已更改 config.php 和 database.php 中的设置以反映新环境,因此它应该可以工作。日志文件没有显示任何有用的信息(只是在加载 URI 库后找不到 index_php)。

知道如何解决这个问题吗?

非常感谢您的帮助。

【问题讨论】:

  • 它是 404 样式的 codeigniter 吗?如果它只是你的 url 的问题......
  • 是的,它属于 CodeIgniter。你的意思是我的网址有问题吗?变量 base_url 已正确设置(在最后尝试使用和不使用 index.php)
  • 您能更详细地描述您的设置吗?类、文件夹等的名称以及您尝试使用的网址?

标签: php codeigniter http-status-code-404


【解决方案1】:

刚刚发现问题。我的默认控制器文件名以大写字母开头。我将其更改为小(例如:'example.php'而不是'Example.php')并且它起作用了。

我在这样一个愚蠢的错误上浪费了很多时间。 :(

【讨论】:

    【解决方案2】:

    仔细检查您的 Apache 配置。例如,如果您使用 mod_rewrite 从本地计算机上的 URL 中删除 index.php,请确保将 Apache 配置为在生产中执行相同操作。

    【讨论】:

    • 谢谢,但正如我所提到的,这不是服务器端问题。我没有更改任何默认路由选项。 'index.php' 仍然显示在 URL 中。
    【解决方案3】:

    权限问题?如果它根本看不到文件 (404),那么 Apache 可能没有访问权限。

    【讨论】:

    • 我应该授权哪个文件?什么权限?
    【解决方案4】:

    在根目录的 .htaccess 中检查 RewriteBase 指向的内容。您是否可能在本地计算机上的子目录中进行开发,即http://localhost/devsite?如果实时站点不在子目录中(即www.yoursite.ext/site,则RewriteBase 需要为/

    【讨论】:

      猜你喜欢
      • 2014-10-31
      • 2012-03-04
      • 1970-01-01
      • 2018-06-29
      • 2021-03-02
      • 1970-01-01
      • 2020-03-08
      • 2021-10-24
      • 1970-01-01
      相关资源
      最近更新 更多