解析如何去掉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 UTF8中文字符截断函数代码
Sep 11 PHP
PHP中如何实现常用邮箱的基本判断
Jan 07 PHP
PHP中nowdoc和heredoc使用需要注意的一点
Mar 21 PHP
单台服务器的PHP进程之间实现共享内存的方法
Jun 13 PHP
PHP调用wsdl文件类型的接口代码分享
Nov 19 PHP
windows下配置php5.5开发环境及开发扩展
Dec 25 PHP
php获取客户端电脑屏幕参数的方法
Jan 09 PHP
php基础设计模式大全(注册树模式、工厂模式、单列模式)
Aug 31 PHP
阿里云PHP SMS短信服务验证码发送方法
Jul 11 PHP
yii2中LinkPager增加总页数和总记录数的实例
Aug 28 PHP
php unlink()函数使用教程
Jul 12 PHP
详解关于php的xdebug配置(编辑器vscode)
Jan 29 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
第一节--面向对象编程
2006/11/16 PHP
phpMyAdmin 安装配置方法和问题解决
2009/06/08 PHP
php判断类是否存在函数class_exists用法分析
2014/11/14 PHP
laravel 5 实现模板主题功能
2015/03/02 PHP
php实现网页上一页下一页翻页过程详解
2019/06/28 PHP
JS中彻底删除JSON对象组成的数组中的元素
2020/09/22 PHP
jQuery 对象中的类数组操作
2009/04/27 Javascript
JavaScript 设计模式学习 Singleton
2009/07/27 Javascript
测试你的JS的掌握程度的代码
2009/12/09 Javascript
让你的博客飘雪花超出屏幕依然看得见
2013/01/04 Javascript
控制input输入框中提示信息的显示和隐藏的方法
2014/02/12 Javascript
原生JS实现LOADING效果
2015/03/16 Javascript
理解JS绑定事件
2016/01/19 Javascript
浅谈JavaScript 浏览器对象
2016/06/03 Javascript
关于定制FileField中的上传文件名称问题
2017/08/22 Javascript
prototype.js简单实现ajax功能示例
2017/10/18 Javascript
JQuery选中select组件被选中的值方法
2018/03/08 jQuery
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
JS学习笔记之闭包小案例分析
2019/05/29 Javascript
Python  连接字符串(join %)
2008/09/06 Python
Python3 正在毁灭 Python的原因分析
2014/11/28 Python
简单解析Django框架中的表单验证
2015/07/17 Python
TensorFlow如何实现反向传播
2018/02/06 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
解决Python安装时报缺少DLL问题【两种解决方法】
2019/07/15 Python
python实现异常信息堆栈输出到日志文件
2019/12/26 Python
详解python如何引用包package
2020/06/07 Python
Python Selenium实现无可视化界面过程解析
2020/08/25 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
2021/02/25 Python
CSS3实现超慢速移动动画效果非常流畅无卡顿
2014/06/15 HTML / CSS
外贸业务员求职自荐信分享
2013/09/21 职场文书
大型晚会策划方案
2014/02/06 职场文书
二年级学生评语大全
2014/04/23 职场文书
模范教师材料大全
2014/12/16 职场文书
高中运动会广播稿
2015/08/19 职场文书