1.修改apache配置文件httpd.conf
a.打开rewrite模块,搜索“LoadModule rewrite_module”去掉前面的“#”,保存。
b.替换httpd.conf文件里的AllowOverride None为AllowOverride all(wampserver里共有三处),保存并重启apache。
2.新建.htaccess文件,写rewrite规则,具体方法可自行百度
项目名为:test,.htaccess放在test下
例:`# 将 RewriteEngine 模式打开
RewriteEngine On
RewriteBase /test
RewriteRule ^([a-zA-Z_]+)-([0-9]+)-([0-9]*).html
/test/index.php/control/
1/
2/
3
ps:该RewriteRule是将 localhost://test/index.php/control/function/1/1这样的url伪静态化为localhost://test/function-1-1.html
注:到此为止打开伪静态url,你会发现会出现404!!
写的rewrite规则也都正确啊,就是找不到,和同事一起弄了半天,在其他框架下按照上述步骤都没问题,上网搜了一下大部分文章都出自同一个人,根本解决不了问题。好不容易才发现一篇文章介绍说要修改ci配置文件!!
打开controler/config/config.php将
config[′uriprotocol′]=′AUTO′修改为
config[‘uri_protocol’] = ‘PATH_INFO’;,
刷新页面,ok!
总结:对ci缓存理解不够深入,$config[‘uri_protocol’] 是设置模式缓存。
相关链接 http://codeigniter.org.cn/forums/thread-7463-1-1.html