Codeigniter-删除index.php后如何加载新页面

时间:2016-11-22 06:09:29

标签: php codeigniter-3

我是codeIgniter的新手。我的索引文件中有一些链接。 我已经从url中删除了index.php,所以现在url看起来像

http://localhost/app/Loader/demo_page

这是我的Loader代码:

class Loader extends CI_Controller {

    public function __construct(){
        parent::__construct();
        $this->load->helper('url');
    }
    public function index()
    {
        $this->load->view('header');
        $this->load->view('center');
        $this->load->view('footer');
    }
    public function demo_page()
    {
        $this->load->view('demo');
    }
}

当我点击此链接时,我找不到错误。

现在该怎么办?

我想从url中删除控制器名称,并希望仅显示相似的域名/ app / mydemopage.php。 请帮忙。

3 个答案:

答案 0 :(得分:1)

您需要URL Rewrite模块才能工作。 如何使其工作取决于您使用的Web服务器。

对于Apache,请编辑httpd.conf并取消注释(删除前导#)以下行,然后重新启动网络服务器。

LoadModule rewrite_module modules/mod_rewrite.so

在CodeIgniter根文件夹中添加/编辑.htaccess文件并插入此文件。

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

如果此处不允许使用RewriteEngine错误,请确保CodeIgniter的Web根文件夹允许在您的网络服务器配置FileInfo中覆盖httpd.conf

AllowOverride FileInfo

答案 1 :(得分:1)

在.htaccess文件中添加以下行。

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [L]

答案 2 :(得分:1)

您可以使用以下示例更改路线文件。在字符串中我传递控制器和函数(方法)名称。在$ route数组中,我正在传递一个漂亮的名字。

#Route file path : CI_project/applications/config/routes.php

$route['default_controller'] = "Dashboard";
$route['contact-us'] = "dashboard/contact_us";

但请记住,如果你想让上面的代码工作,你必须启用重写模块并在.htaccess中提供此代码。

.htaccess文件代码:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /prjectName/
    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]
    RewriteCond %{REQUEST_URI} ^application.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
 # If we don't have mod_rewrite installed, all 404's
  # can be sent to index.php, and everything works as normal.
  # Submitted by: Pawan Nagar
<IfModule !mod_rewrite.c>
   ErrorDocument 404 /index.php
</IfModule>