如何在codeigniter中链接?

时间:2016-02-01 04:56:09

标签: php codeigniter

我是codeigniter的新手并看过主题集成的教程,但它没有解决如何正确链接nav_bar中的链接,我一直在做一些自学,并了解到nav_bar上的每个按钮都应该是一个控制器并且href应该是<?php base url('')?>,请参阅下面的代码,

位于视图文件夹

中的

nav_bar.php

<a href="<?php echo base_url('aboutus')?>">About Us</a>

位于控制器文件夹

中的

aboutus.php

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

class Aboutus extends CI_Controller { 

    public function index()
    {    
        $this->load->view('header');
        $this->load->view('nav_bar');           
        $this->load->view('footer');
    }
}

我哪里出错了?我该如何解决? 谢谢......

4 个答案:

答案 0 :(得分:0)

确保您必须在控制器或autoload.php中加载 URL帮助程序类,因为要使用base_url()(简写),您需要加载url helper

$this->load->helper('url');

一些例子:

如果您想使用此网址:

<?php echo base_url();?>aboutus

,您需要将.htaccess文件修改为:

RewriteEngine on
Options -Indexes

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

如果您正在寻找此网址:

<?php echo base_url();?>index.php/aboutus

,无需更改.htaccess文件。

或者如果您正在寻找此网址:

<?php echo base_url();?>about-us

,您需要在config/routes.php文件中添加此路线:

$route['about-us'] = "aboutus";

<强> From the CodeIgniter 3

您还可以使用site_url()获取所需的结果:

echo site_url('aboutus');

以上示例将返回类似:

http://domain.com/index.php/aboutus

答案 1 :(得分:-1)

您是否删除了 htaccess 上的 index.php ? 如果不低于url将适合你

<a href="<?php echo base_url();?>index.php/aboutus">About Us</a>

答案 2 :(得分:-1)

试试这段代码 在codeigniter中,anchor()函数可用于创建链接        的语法 锚( “controller_class_name /函数名”, “LINK_NAME”);

HTTP/1.1 200 OK
Server: nginx
Date: Mon, 01 Feb 2016 05:17:50 GMT
Content-Type: text/html
Connection: keep-alive
Vary: Accept-Encoding
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0
X-Content-Type-Options: nosniff
Access-Control-Allow-Headers: X-CSRF-Token,Content-Type
Access-Control-Allow-Methods: GET, PUT, POST, OPTIONS, DELETE
Access-Control-Allow-Credentials: true
Alternate-Protocol: 443:npn-spdy/3
X-XSS-Protection: 1; mode=block
Strict-Transport-Security: max-age=15552000; includeSubDomains; preload

答案 3 :(得分:-1)

检查路由并使用

<a href='<?= base_url("aboutus")?>'>About Us</a>