解析如何去掉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 20 PHP
PHP中使用unset销毁变量并内存释放问题
Jul 05 PHP
PHP 之Section与Cookie使用总结
Sep 14 PHP
php牛逼的面试题分享
Jan 18 PHP
php中fgetcsv()函数用法实例
Nov 28 PHP
php实现的SESSION类
Dec 02 PHP
PHP中substr函数字符串截取用法分析
Jan 07 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
Sep 30 PHP
laravel5.4生成验证码的实例讲解
Aug 05 PHP
PHP基于IMAP收取邮件的方法示例
Aug 07 PHP
浅谈PHPANALYSIS提取关键字
Mar 08 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 获取全局变量的代码
2011/04/21 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
2013/02/28 PHP
浅谈php命令行用法
2015/02/04 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
2016/01/19 PHP
php 处理png图片白色背景色改为透明色的实例代码
2018/12/10 PHP
laravel-admin自动生成模块,及相关基础配置方法
2019/10/08 PHP
本地对象Array的原型扩展实现代码
2010/12/04 Javascript
script的async属性以非阻塞的模式加载脚本
2013/01/15 Javascript
js使用html()或text()方法获取设置p标签的显示的值
2014/08/01 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
vue源码解析之事件机制原理
2018/04/21 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
2018/08/10 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
小程序接口的promise化的实现方法
2019/12/11 Javascript
js实现登录时记住密码的方法分析
2020/04/05 Javascript
Vue时间轴 vue-light-timeline的用法说明
2020/10/29 Javascript
centos6.7安装python2.7.11的具体方法
2017/01/16 Python
python爬取w3shcool的JQuery课程并且保存到本地
2017/04/06 Python
Python中异常重试的解决方案详解
2017/05/05 Python
python爬虫基本知识
2018/03/05 Python
TensorFlow平台下Python实现神经网络
2018/03/10 Python
Python中的二维数组实例(list与numpy.array)
2018/04/13 Python
python3连接mysql获取ansible动态inventory脚本
2020/01/19 Python
Python Opencv轮廓常用操作代码实例解析
2020/09/01 Python
美国NBA官方商店:NBA Store
2019/04/12 全球购物
洲际酒店集团英国官网:IHG英国
2019/07/10 全球购物
2014最新党员批评与自我批评材料
2014/09/24 职场文书
2015年车间安全管理工作总结
2015/05/13 职场文书
跟班学习心得体会(共6篇)
2016/01/23 职场文书
Python使用protobuf序列化和反序列化的实现
2021/05/19 Python
Redis 配置文件重要属性的具体使用
2021/05/20 Redis
利用python Pandas实现批量拆分Excel与合并Excel
2021/05/23 Python
利用Python判断整数是否是回文数的3种方法总结
2021/07/07 Python
Java tomcat手动配置servlet详解
2021/11/27 Java/Android
Oracle查看表空间使用率以及爆满解决方案详解
2022/07/23 Oracle