CodeIgniter框架的所有入口都是index.php, 比如http://localhost/index.php/controller/action/parameters
那么如何省略掉URL 上的 index.php, 让URL更简化:http://localhost/controller/action/parameters
有以下两大步:
1. 通过.htaccess 文件重写, 这里假设你的apache 已经支持重写以及支持.htaccess文件了,并且可以正常访问CI框架。
.htaccess内容如下 :
RewriteEngine on RewriteCond $1 !^(index\.php|images|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L]
.htaccess文件的好处是修改后不用重启服务即可生效。
到这里第一步完成了, 再去浏览器试试http://localhost/controller/action/parameters (这是演示路径,具体是你的测试地址),去掉了index.php访问正常。
但问题是,你按原来的带index.php的路径去访问,依然可以访问。
那么这就是不全面去除了,因为用户还可以输入带index.php路径访问你的页面, 这样对搜索引擎SEO也不好,因为搜索引擎可能会收录了两种页面地址, 这样分散权重。彻底去除,我们可以看下面第二步:
2. CI框架提供了非常灵活的扩展机制,用户可以在application的相应目录里扩展系统的类,CI会优先去读application里的类,如果没有找到,再去读系统默认的类。
这里我们在application/core里新建立一个MY_Controller.php文件扩展系统的CI_Controller,这个MY_前缀是可以在application/config/config.php配置文件里修改的。扩展类代码如下:
<?php class MY_Controller extends CI_Controller { public function __construct(){ parent::__construct(); $this->dealWithIndexPage(); } protected function dealWithIndexPage(){ $uri = $this->input->server('REQUEST_URI',true); //deal with index.php if(strpos($uri,'index.php')!==false){ $this->load->helper('url'); redirect('/error/'); } } }
这里我们将所有的URL上带有index.php的路径跳转到我们自定义的错误页面,这样就不会再出现带index.php的链接了,是不是很方便呢?
至于自定义错误页面,你可以放置网站的地图方便用户定位,或者放置有个性的图片说明,这就看你的创意了 :)
相关推荐
基于Codeigniter框架的pkadmin后台管理系统源码基于Codeigniter框架的pkadmin后台管理系统源码基于Codeigniter框架的pkadmin后台管理系统源码基于Codeigniter框架的pkadmin后台管理系统源码基于Codeigniter框架的...
用CodeIgniter框架快速构建企业门户网站.pdf
URL路由设置-CI(codeigniter)PHP框架再探_.docx
视图View-CI(codeigniter)PHP框架__1.docx
模型Model-CI(codeigniter)PHP框架__1.docx
本资源包含: CodeIgniter中文参考手册.pdf; CodeIgniter用户指南(v1.7.2).chm; PHP敏捷开发框架CodeIgniter.chm。
本篇文章是对如何去掉CodeIgniter URL中index.php的方法进行了详细的分析介绍,需要的朋友参考下
基于PHP CodeIgniter框架的CMS系统开发.pdf
Packtpub.CodeIgniter.1.7.Professional.Development.Apr.2010.rar
PHP敏捷开发CodeIgniter框架
CodeIgniter (CI) is a powerful open-source PHP framework with a very small footprint, built for PHP coders who need a simple and elegant toolkit to create full-featured web applications. CodeIgniter ...
CodeIgniter框架
PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter...
CodeIgniter用户指南(版本1.7.2).chm
[其他类别]CodeIgniter 开源PHP框架 1.7.1_codeigniter_1.7.1.zip
CodeIgniter 是一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,它可以为 PHP 程序员建立功能完善的 Web 应用程序。如果你是一个使用共享主机,并且为客户所要求的期限而烦恼的开发人员,如果你...
教程名称:PHP敏捷开发 使用CodeIgniter 框架 8天完成电子商务网站的开课程目录:【】1.CI入门【】10.添加分类【】11.编辑分类【】14.商品属性添加和显示【】15.商品添加页面展示-ajax应用【】17.商品详细页【】18....
大多数PHPer都想写出运行状态良好的应用程序,而且希望尽可能做得简单且不费事。这篇文章是有关 CodeIgniter的(以后简称CI),CI是一个达成上面目的的所谓框架。
Mosaico-CodeIgniter-Ion-Auth-源码.rar