Codeigniter 3.0.4,在我的服务器上找不到404页错误

时间:2016-04-08 16:39:08

标签: php .htaccess codeigniter hosting

我是codeigniter的新手。在我的localhost上开发了一个Web应用程序。所以我在服务器上上传了我的网站,然后我导入了我的数据库。之后我在database.php文件中更改了数据库的设置..而且我也更改了config.php文件中的基本URL。

我收到了 404 Page Not Found。 找不到您请求的页面。我不知道出了什么问题..我已经搜索了很多,但没有任何帮助。我的.htaccess文件是空的..意思是里面没有一行。还有一件事是我从 godaddy 主机购买此主机可能会有所帮助。

我的routes.php

$route['default_controller'] = '';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

my controller doctorscont.php

<?php defined('BASEPATH') OR exit('No direct script access allowed');

class Doctorscont extends CI_Controller {

   public function index() { 
         here is my code.....  */
   }
}

和我的配置&gt;的config.php

$config['base_url'] = ''; 
$config['index_page'] = 'index.php';

[1]:

3 个答案:

答案 0 :(得分:2)

你必须在routes.php。

中定义doctorscont的路线

请在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'] = '';

现在你可以得到你想要的东西。

答案 1 :(得分:1)

在版本3+中,文件名必须包含每个文件的第一个字母作为大写。它将在localhost环境中以小写形式工作,但不在服务器上工作。

将文件重命名为“ D octorscont.php”,您可以将类名称用作小写

class Doctorscont extends CI_Controller

修改http://www.codeigniter.com/user_guide/general/controllers.html#let-s-try-it-hello-world

答案 2 :(得分:0)

您似乎尚未在apache2配置级别进行一些更改,请执行以下更改。

1)sudo a2enmod重写

2)gedit /etc/apache2/apache2.conf

3)添加到conf文件的末尾

<Directory /var/www/html/>
	AllowOverride All
</Directory>

4)通过以下命令重启apache2服务。 服务apache2重新启动

好运。