解析如何去掉CodeIgniter URL中的index.php


Posted in PHP onJune 25, 2013

CI默认的rewrite url中是类似这样的,例如你的CI根目录是在/CodeIgniter/下,你的下面的二级url就类似这样http://localhost/CodeIgniter/index.php/welcome。不太好看,怎么把其中的index.php取掉呢?

1. 打开apache的配置文件,conf/httpd.conf :
LoadModule rewrite_module modules/mod_rewrite.so,把该行前的#去掉。
搜索 AllowOverride None(配置文件中有多处),看注释信息,将相关.htaccess的该行信息改为AllowOverride All。

2. 在CI的根目录下,即在index.php,system的同级目录下,建立.htaccess,直接建立该文件名的不会成功,可以先建立记事本文件,另存为该名的文件即可。内容如下(CI手册上也有介绍):

RewriteEngine on  
RewriteCond $1 !^(index\.php|images|robots\.txt)  
RewriteRule ^(.*)$ /index.php/$1 [L]

如果文件不是在www的根目录下,例如我的是:http://www.nowamagic.net/CodeIgniter/,第三行需要改写为RewriteRule ^(.*)$ /CodeIgniter/index.php/$1 [L]。
另外,我的index.php的同级目录下还有js文件夹和css文件夹,这些需要过滤除去,第二行需要改写为:RewriteCond $1 !^(index\.php|images|js|css|robots\.txt)

3.将CI中配置文件(system/application/config/config.php)中$config['index_page'] = "index.php";将$config['index_page'] = ""; 。

/*
|--------------------------------------------------------------------------
| Index File
|--------------------------------------------------------------------------| Typically this will be your index.php file, unless you've renamed it to
| something else. If you are using mod_rewrite to remove the page set this
| variable so that it is blank.
*/
$config['index_page'] = '';

重启apache
PHP 相关文章推荐
在PHP的图形函数中显示汉字
Oct 09 PHP
php中删除字符串中最先出现某个字符的实现代码
Feb 03 PHP
CURL状态码列表(详细)
Jun 27 PHP
php判断数组元素中是否存在某个字符串的方法
Jun 14 PHP
destoon首页调用求购供应信息的地区名称的方法
Aug 21 PHP
laravel安装和配置教程
Oct 29 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
Dec 21 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
Jul 20 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
Jun 20 PHP
详解Laravel5.6 Passport实现Api接口认证
Jul 27 PHP
docker-compose部署php项目实例详解
Jul 30 PHP
php依赖注入知识点详解
Sep 23 PHP
解析php入库和出库
Jun 25 #PHP
解析php下载远程图片函数 可伪造来路
Jun 25 #PHP
解析php通过cookies获取远程网页的指定代码
Jun 25 #PHP
使用dump函数,给php加断点测试
Jun 25 #PHP
解析php多线程下载远程多个文件
Jun 25 #PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
Jun 25 #PHP
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
Jun 25 #PHP
You might like
php set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
基于win2003虚拟机中apache服务器的访问
2017/08/01 PHP
PHP使用mongoclient简单操作mongodb数据库示例
2019/02/08 PHP
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
2011/04/27 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
2011/07/26 Javascript
JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
2014/03/20 Javascript
javascript中定义类的方法汇总
2014/12/28 Javascript
JS实现固定在右下角可展开收缩DIV层的方法
2015/02/13 Javascript
Bootstrap基础学习
2015/06/16 Javascript
jQuery三级下拉列表导航菜单代码分享
2020/04/15 Javascript
js实现根据身份证号自动生成出生日期
2015/12/15 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
深入解析JavaScript中的arguments对象
2016/06/12 Javascript
微信小程序 wxapp内容组件 progress详细介绍
2016/10/31 Javascript
js实现自定义进度条效果
2017/03/15 Javascript
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
JavaScript中发出HTTP请求最常用的方法
2018/07/12 Javascript
详解element-ui中form验证杂记
2019/03/04 Javascript
微信小程序 自定义复选框实现代码实例
2019/09/04 Javascript
基于JavaScript实现轮播图效果
2021/01/02 Javascript
[01:00:26]Ti4主赛事胜者组第一天 EG vs NEWBEE 1
2014/07/19 DOTA
Python使用Windows API创建窗口示例【基于win32gui模块】
2018/05/09 Python
示例详解Python3 or Python2 两者之间的差异
2018/08/23 Python
python pandas写入excel文件的方法示例
2019/06/25 Python
python使用多线程编写tcp客户端程序
2019/09/02 Python
在Python中使用MongoEngine操作数据库教程实例
2019/12/03 Python
pytorch中torch.max和Tensor.view函数用法详解
2020/01/03 Python
python 实现将Numpy数组保存为图像
2020/01/09 Python
django xadmin action兼容自定义model权限教程
2020/03/30 Python
Python如何读写CSV文件
2020/08/13 Python
CSS3制作彩色进度条样式的代码示例分享
2016/06/23 HTML / CSS
美国大城市最热门旅游景点门票:CityPASS
2016/12/16 全球购物
软件设计的目标是什么
2016/12/04 面试题
《中国的气候》教学反思
2014/02/23 职场文书
纠纷协议书
2014/04/16 职场文书
安全标语口号
2014/06/09 职场文书