CodeIgniter学习笔记四:CI中的URL相关函数,路由,伪静态,去掉index.php

时间:2020-12-21 11:58:51

一、URL相关函数

1、加载url模块

加载url有两种方式:

a、自动加载:在 application/config/autoload.php 中开启

$autoload['helper'] = array('url');

b、手动加载:

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

2、site_url("controller/action")

用于生成完整地址,可用于form的action属性中。

3、base_url

获得网站根目录,是浏览地址(不是物理地址)

示例:

<!DOCTYPE html>
<html>
<head>
<title>Url Test</title>
</head>
<body>
<form action="<?php echo site_url('urltest/add'); ?>" method="post">
<input type="submit" value="Add"/>
</form>
<img src="<?php echo base_url(); ?>uploads/1.jpg" alt="" />
</body>""
</html>

二、路由

1、配置文件在application/config/routes.php

2、默认控制器:

$route['default_controller'] = 'welcome';

三、伪静态(自定义后缀)

//正则路由
$route['news/([\d]+)\.html'] = 'article/show/$1';
$route['article/show/([\d]+)\.html'] = 'article/show/$1';

四、去掉index.php

根据不同Web服务器,添加配置。

如果web服务器是apache,先开启rewrite模块,重启apache,然后在网站根目录(入口文件同级)中添加.htaccess文件:

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

即可