zionwang 发表于 2012-4-4 21:29:15

CI框架能实现这样的拟静态吗

CI框架能实现这样的拟静态吗/controller/action/id_3213.html 这样的

如果不能apache要如何做

actionbi 发表于 2012-4-5 04:45:08

本帖最后由 actionbi 于 2012-4-5 04:47 编辑

可以的。你自定义一个正则表达式路由规则就行啦。下面是手册的连接。
http://codeigniter.org.cn/user_guide/general/routing.html


我自己本地测试的结果:

我在本地的routes.php中添加一条
(路由规则有问题不完整,因为我纯为了实现效果。如果要用于生产环境,还要修改)

$route['(+)/(+)/id_(\d+).html'] = "$1/$2/id_$3";


welcome/index函数里面直接打印接收的参数。

http://codeigniter.org.cn/forums/data/attachment/album/201204/05/04385017ggz8w7ol11x717.png

PS:CI的路由功能很强大。

kissgxd 发表于 2012-4-5 10:07:19

还有一种办法,步骤:
1,先用.htacess去掉index.php
2.配置CI的后缀为.html即可

大道达人 发表于 2012-4-5 10:17:50

本帖最后由 大道达人 于 2012-4-5 10:33 编辑

你请求的URL是
/controller/action/id/3213
跳转成 /controller/action/id_3213.html?还是/controller/action/3213?

大道达人 发表于 2012-4-5 10:39:05

actionbi 发表于 2012-4-5 04:45 static/image/common/back.gif
可以的。你自定义一个正则表达式路由规则就行啦。下面是手册的连接。
http://codeigniter.org.cn/user_guid ...

hi你的路由正则配置有误哦。
id_(d+)实际什么也没执行. 你用 (d+) 和()得到的都是 id_xxx.html
而不是楼主想要的 xxx
应该是笔误~

id_(\d+)就ok了

actionbi 发表于 2012-4-5 15:12:49

本帖最后由 actionbi 于 2012-4-5 17:03 编辑

大道达人 发表于 2012-4-5 10:39 static/image/common/back.gif
hi你的路由正则配置有误哦。
id_(d+)实际什么也没执行. 你用 (d+) 和()得到的都是 id_xxx.html
而不是楼 ...
(\d)
我输入的是(\d),结果反斜杠被和谐了

大道达人 发表于 2012-4-5 15:40:56

actionbi 发表于 2012-4-5 15:12 static/image/common/back.gif


(d)是什么意思~

actionbi 发表于 2012-4-5 17:03:09

大道达人 发表于 2012-4-5 15:40 static/image/common/back.gif
(d)是什么意思~
我输入的是(\d),结果反斜杠被和谐了。论坛编辑器的问题。过滤掉了

chenhan 发表于 2012-4-6 11:27:09

手册手册啊

O(∩_∩)O莔 发表于 2012-4-13 11:24:39

你的问题解决了没?
页: [1]
查看完整版本: CI框架能实现这样的拟静态吗