Codeigniter 3.0.4 在我的服务器上出现 404 Page Not Found 错误
Posted
技术标签:
【中文标题】Codeigniter 3.0.4 在我的服务器上出现 404 Page Not Found 错误【英文标题】:Codeigniter 3.0.4 with 404 Page Not Found Error on my server 【发布时间】:2016-07-30 00:44:04 【问题描述】:我是 Codeigniter 的新手。在我的本地主机上开发了一个网络应用程序之后。所以我将我的网站上传到服务器上,然后我导入了我的数据库。之后我更改了 database.php 文件中的数据库设置.. 并且我更改了 config.php 文件中的基本 url。
我收到 404 页面未找到。 找不到您请求的页面。我不知道出了什么问题..我搜索了很多,但没有任何帮助。我的 .htaccess 文件是空的 ..意味着里面没有一行。还有一件事是我从 godaddy 主机购买这个可能会有所帮助。
我的路线.php
$route['default_controller'] = '';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
我的控制器医生cont.php
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Doctorscont extends CI_Controller
public function index()
here is my code..... */
和我的配置 > config.php
$config['base_url'] = '';
$config['index_page'] = 'index.php';
[1]:
【问题讨论】:
你的 CI 版本是多少? 【参考方案1】:你必须在 routes.php 中定义医生的路线。
请在routes.php末尾添加这一行,然后访问
$route['doctorscont'] = 'Doctorscont';
如果您仍然收到 404 错误,请尝试如果它打开,您可能需要删除 URL 上的 index.php。对于此任务,请访问 CodeIgniter URLs Guide
编辑:
在您的根目录(与系统和应用程序相同的文件夹)下创建一个 .htaccess 文件,内容如下:
RewriteEngine On
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(.*)$ index.php/$1 [L]
打开 config.php 并编辑这一行:
$config['index_page'] = 'index.php';
到这里:
$config['index_page'] = '';
现在你可以得到你想要的。
【讨论】:
你确定吗?访问doctorsplace.co/index.php/doctorscont 并查看新错误:) ya 错误是“未指定输入文件”。但是主页doctorsplace.co 首先让 Doctorscont 控制器工作,然后我们可以检查其他东西。 你在 autoload.php 中加载了哪些库?有会话库吗?如果有,请将加密密钥添加到 config.php 这与您的问题无关,我只是提供一般信息。【参考方案2】:在版本 3+ 中,文件名必须包含每个文件的首字母大写。它将在您的 localhost 环境中以小写形式工作,但在服务器上则不行。
将文件重命名为'Docctorscont.php'你可以使用小写的类名。
class Doctorscont extends CI_Controller
编辑:http://www.codeigniter.com/user_guide/general/controllers.html#let-s-try-it-hello-world
【讨论】:
在 CI3 版本中,类名和文件名都应该只有第一个字母大写。 不正确,至少没有必要。类名的首字母不必大写。 用户指南说要做CI3 codeigniter.com/user_guide/general/… 你是对的。但是我有几个小写的项目没有任何问题。但我确实知道,如果我不将文件名以大写形式显示,它就不起作用。无论如何,谢谢。【参考方案3】:您似乎没有在 apache2 配置级别进行一些更改,请进行以下更改。
1)sudo a2enmod 重写
2)gedit /etc/apache2/apache2.conf
3) 将下面添加到您的 conf 文件的末尾
<Directory /var/www/html/>
AllowOverride All
</Directory>
4) 通过以下命令重启 apache2 服务。 服务 apache2 重启
祝你好运。
【讨论】:
以上是关于Codeigniter 3.0.4 在我的服务器上出现 404 Page Not Found 错误的主要内容,如果未能解决你的问题,请参考以下文章
用户如何在我的 codeigniter 注册表单上上传个人资料图片
为啥 codeIgniter 显示在此服务器上未找到请求的 URL?