【问题标题】:codeigniter page not found on live server在实时服务器上找不到 codeigniter 页面
【发布时间】:2017-09-23 02:27:09
【问题描述】:

codeigniter 页面未显示,但在本地服务器中工作正常。

我在实时服务器上上传了一个基本简单页面的 codeigniter 文件,但它显示没有找到页面,并且它在本地服务器上工作的文件相同。

我有

mine.php ---- controller
index.php --- view

我在路由默认控制器中加载 - 我在配置库 url-domain.com 中也删除了 index.php

.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

我可以知道为什么它显示找不到页面,可能是一些路由问题,但我也加载了默认控制器。请帮忙解决这个问题

【问题讨论】:

  • 您使用的是哪个版本的 ci?你的配置文件是什么样的?
  • 在您的application > controllers > mine.php 中将其重命名为Mine.php,类也是如此。此外,您不必将 index.php 用于您的视图,您可以创建自己的视图 codeigniter.com/user_guide/general/views.htmlcodeigniter.com/user_guide/general/controllers.html
  • 但是控制器名称是大写的 Mine 和控制器文件名是 mine.php,如果两者都是大写字母就对了,或者我应该用小写的控制器名称。
  • 这里我的控制器代码 mine.php ------------- load->helper ('形式'); $this->load->view('index'); } } 和这里 index.php 在视图中---------------- 首页



    你好,我启动了

标签: codeigniter server live


【解决方案1】:

首先正确启动错误记录,这样您就可以看到实际的错误。

更改文件名的首字母大写。正如ci3 manual - controllers 所解释的那样,这是令人迷惑的。它说类名和文件名必须以大写开头。 (如果你的开发机器是windows,那么如果你不遵守这个规则它就不会显示错误。因为window的文件系统不区分大小写。但是在你的服务器上它是linux。所以它会显示错误)

如果您仍然无法正常工作,请尝试访问包含 index.php 的 url。暂时禁用 .htaccess 。如果你让它工作,那么你可能在 .htaccess 中有问题。访问。尝试使用以下链接从您的 url. Expression engine forum 中正确删除 index.php。这个 htaccess 在我使用过的所有不同服务器上都为我工作。

【讨论】:

    【解决方案2】:

    将此添加到 .htaccess 文件中

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond $1 !^(index\.php|images|asset|robots\.txt)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
    </IfModule>
    

    【讨论】:

      猜你喜欢
      • 2016-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-16
      • 1970-01-01
      • 1970-01-01
      • 2021-10-22
      • 1970-01-01
      相关资源
      最近更新 更多