解析如何去掉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下过滤HTML代码的函数
Dec 10 PHP
MySql中正则表达式的使用方法描述
Jul 30 PHP
php 获得汉字拼音首字母的函数
Aug 01 PHP
Php output buffering缓存及程序缓存深入解析
Jul 15 PHP
PHP中round()函数对浮点数进行四舍五入的方法
Nov 19 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
Aug 07 PHP
php+redis实现商城秒杀功能
Nov 19 PHP
php插入mysql数据返回id的方法
May 31 PHP
laravel实现按时间日期进行分组统计方法示例
Mar 23 PHP
PHP快速排序算法实现的原理及代码详解
Apr 03 PHP
laravel 5.3 单用户登录简单实现方法
Oct 14 PHP
phpQuery采集网页实现代码实例
Apr 02 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 中的批处理的实现
2007/06/14 PHP
深思 PHP 数组遍历的差异(array_diff 的实现)
2008/03/23 PHP
PHP三层结构(上) 简单三层结构
2010/07/04 PHP
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
2015/10/08 PHP
php微信开发自定义菜单
2016/08/27 PHP
JavaScript Konami Code 实现代码
2009/07/29 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
JS中Iframe之间传值的方法
2013/03/11 Javascript
JavaScript基础教程之alert弹出提示框实例
2014/10/16 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
node.js 中国天气预报 简单实现
2016/06/06 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
2017/01/13 Javascript
使用vue-resource进行数据交互的实例
2017/09/02 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
Vue表单demo v-model双向绑定问题
2018/06/29 Javascript
layer.open 按钮的点击事件关闭方法
2018/08/17 Javascript
Nodejs模块的调用操作实例分析
2018/12/25 NodeJs
JavaScript面向对象核心知识与概念归纳整理
2020/05/09 Javascript
如何解决jQuery 和其他JS库的冲突
2020/06/22 jQuery
JS+CSS实现过渡特效
2021/01/02 Javascript
python通过urllib2爬网页上种子下载示例
2014/02/24 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
2019/03/13 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
python通过txt文件批量安装依赖包的实现步骤
2019/08/13 Python
django项目用higcharts统计最近七天文章点击量
2019/08/17 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
浅谈Python中range与Numpy中arange的比较
2020/03/11 Python
终于搞懂了Keras中multiloss的对应关系介绍
2020/06/22 Python
使用CSS3来匹配横屏竖屏的简单方法
2015/08/04 HTML / CSS
演讲稿的格式及范文
2014/08/22 职场文书
2014年民政工作总结
2014/11/26 职场文书
亚布力滑雪场导游词
2015/02/09 职场文书
MySQL的Query Cache图文详解
2021/07/01 MySQL
MySQL数据库中的锁、解锁以及删除事务
2022/05/06 MySQL