我是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');
}
}
我哪里出错了?我该如何解决? 谢谢......
答案 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>