解析如何去掉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 相关文章推荐
第六节 访问属性和方法 [6]
Oct 09 PHP
PHP中strtotime函数使用方法详解
Nov 27 PHP
Fine Uploader文件上传组件应用介绍
Jan 06 PHP
PHP flush()与ob_flush()的区别详解
Jun 03 PHP
使用cookie实现统计访问者登陆次数
Jun 08 PHP
给ECShop添加最新评论
Jan 07 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
Sep 25 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
Sep 22 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
Apr 30 PHP
php正确输出json数据的实例讲解
Aug 21 PHP
PHP Swoole异步MySQL客户端实现方法示例
Oct 24 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 ios推送(代码)
2013/07/01 PHP
php的慢速日志引起的Mysql错误问题分析
2014/05/13 PHP
PHP实现多图片上传类实例
2014/07/26 PHP
PHP动态输出JavaScript代码实例
2015/02/12 PHP
mysql_connect localhost和127.0.0.1的区别(网络层阐述)
2015/03/26 PHP
判断页面是关闭还是刷新的js代码
2007/01/28 Javascript
ZeroClipboard插件实现多浏览器复制功能(支持firefox、chrome、ie6)
2014/08/30 Javascript
网页收藏夹显示ICO图标(代码少)
2015/08/04 Javascript
AngularJS入门教程之Cookies读写操作示例
2016/11/02 Javascript
JAVA中截取字符串substring用法详解
2017/04/14 Javascript
ES6正则的扩展实例详解
2017/04/25 Javascript
Angular客户端请求Rest服务跨域问题的解决方法
2017/09/19 Javascript
vue router demo详解
2017/10/13 Javascript
详解React项目中碰到的IE问题
2019/03/14 Javascript
[02:35]DOTA2英雄基础教程 狙击手
2014/01/14 DOTA
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
Python使用scrapy采集时伪装成HTTP/1.1的方法
2015/04/08 Python
日常整理python执行系统命令的常见方法(全)
2015/10/22 Python
Python切片知识解析
2016/03/06 Python
python requests 测试代理ip是否生效
2018/07/25 Python
Python3 文章标题关键字提取的例子
2019/08/26 Python
用python画一只可爱的皮卡丘实例
2019/11/21 Python
np.random.seed() 的使用详解
2020/01/14 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
UI自动化定位常用实现方法代码示例
2020/10/27 Python
如何给HTML标签中的文本设置修饰线
2019/11/18 HTML / CSS
公司拓展活动方案
2014/02/13 职场文书
优质服务活动实施方案
2014/05/02 职场文书
干部选拔任用方案
2014/05/26 职场文书
三八妇女节标语
2014/10/09 职场文书
村党建工作汇报材料
2014/11/02 职场文书
整改落实自查报告
2014/11/05 职场文书
主持人开场白台词
2015/05/29 职场文书
幼儿园毕业典礼园长致辞
2015/07/29 职场文书
《工作是最好的修行》读后感3篇
2019/12/13 职场文书
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang