Codeigniter URL显示404

时间:2014-10-10 09:21:47

标签: php codeigniter web codeigniter-url

我有一个简单的网络托管平台。我在/ var / www / html上托管Codeigniter应用程序 这意味着这是文件结构:

html 
|-application
|---controllers
|---models
|---views
|---config
|-public
|-system
|-index.php
|-.htacess

我的.htaccess文件如下所示:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

在我的config.php文件中,我有默认的根视图控制器:

$config['base_url']     = 'http://www.example.com/';

在我的routes.php文件中,我有

$route['default_controller'] = "home"

所以,当我在浏览器中打开www.mysite.com时,我会自动获得home / index。但是,当我尝试任何其他网址,如

www.example.com/home
www.example.com/home/index
www.example.com/admin

我收到404错误。这也是值得注意的是,这个文件夹在我尝试的本地机器和另一台远程服务器上运行良好。

更准确地说,当我尝试www.example.com/home时,我收到此错误

Not Found
The requested URL /home was not found on this server.

修改

我的家庭控制器看起来像这样。

class Home extends CI_Controller{

    public function __construct() {
        parent::__construct();
    }

    public function index(){
        $this->load->view('home_view');
   }

    public function someFunction(){
       echo 'In some function';
    }

}

修改

我不知道如果这有帮助,但将index.php添加到URL似乎打开了预期的页面。所以

www.example.com/controller/function (DOES NOT WORK)
www.example.com/index.php/controller/function (WORKS)

请帮忙吗?

1 个答案:

答案 0 :(得分:-1)

您需要在路径文件中指定不同网址的操作。 与site.com/search一样,请在$ route [&#39; default_controller&#39;] =&#34; home&#34;,

之前添加
$route['search'] = "home/search"

这意味着,您将在家庭控制器中创建一个功能搜索,它将加载指定网址的视图文件。