您的位置:首页 > 运维架构 > Apache

Codeigniter设置伪静态出现404错误

2016-04-15 17:53 621 查看

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息