北漂IT民工 的博客

Codeigniter创建灵活的链接方式的办法

如何在CI中创建干净的链接地址以方便SEO或者直接使用index.php方便在没有配置rewrite规则的机器上调试呢?

下面我介绍一下我通过实践找到的在apache下面的办法。

1、对于所有的输出地址统一采用site_url(“controller/method”);这样的生成方式

2、修改config文件里的信息

1
2
3
4
5
6
7
8
9
10

if ($_SERVER['PHP_SELF'] == $_SERVER['REQUEST_URI']) {

$config['index_page'] = 'index.php';

} else {

$config['index_page'] = '';

}

3、修改rewrite规则

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /</p>

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

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

</IfModule>

`

基本上完成以上的布置就可以在多个配置下灵活的切换,而不会产生问题了。