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 框架快速构建企业门户网站 CodeIgniter 是一个免费、轻量级、容易安装的 PHP 开发框架,采用 MVC 模式,可以使开发变得轻松。使用 CodeIgniter 框架可以快速开发出适合企业需求的门户网站。 1. ...
CodeIgniter(CI)是一个流行的PHP框架,它提供了一种优雅的方式来构建动态网站。在CI中,URL路由是一个关键功能,允许开发者自定义URL结构,使其更符合SEO标准和用户体验。下面将深入探讨CI的URL路由设置。 1. **...
本篇文章是对如何去掉CodeIgniter URL中index.php的方法进行了详细的分析介绍,需要的朋友参考下
它为开发者提供了一个全面的API参考,帮助他们理解和使用框架中的每个类和方法。此外,手册还涵盖了错误处理、日志记录以及性能优化等方面的指导。 2. **CodeIgniter用户指南(v1.7.2).chm**:这是CodeIgniter ...
基于PHP CodeIgniter框架的CMS系统开发.pdf
2. **安装与配置**:安装CodeIgniter非常简单,通常涉及下载框架的ZIP文件,解压到服务器的适当位置,并配置基本的 `.htaccess` 和 `index.php` 文件。开发者可以通过修改配置文件来适应自己的项目需求。 3. **URL...
这将告诉CodeIgniter框架,URL中不应包含`index.php`部分。 ### 三、设置路由规则 在`application/config/routes.php`文件中,我们可以自定义URL的映射规则。例如,以下代码: ```php $route['product/(:num)'] =...
《CodeIgniter 1.7 专业开发指南》是由Packtpub出版的一本关于Web开发的书籍,专注于CodeIgniter框架的使用与实践。CodeIgniter是一个轻量级的PHP框架,它为开发者提供了一个简单而优雅的工具包,用于构建功能强大的...
这款框架专为需要简单优雅工具集来创建全面的Web应用程序的PHP开发者设计。CI采用模型-视图-控制器(Model-View-Controller,简称MVC)架构模式,与Ruby的Rails框架有相似之处,旨在简化开发流程而非增加负担。 ###...
在CodeIgniter (CI) PHP框架中,视图(View)是MVC(Model-View-Controller)架构中的一个重要组成部分,主要用于呈现用户界面和静态HTML内容。本文将详细讲解如何在CI中创建、访问、传递数据以及处理视图的返回字符串...
CodeIgniter是一个轻量级、高性能的PHP框架,专为开发者提供快速开发应用程序的工具。它的设计目标是简化开发过程,使程序员能够更专注于编写代码,而不是去解决底层的复杂问题。这个框架以其简单易用的API、清晰的...
根据给定的信息,我们可以推断出本教程主要围绕着PHP100教程2012版中的第17讲——CodeIgniter框架相关内容展开。由于提供的“部分内容”中似乎包含了与解压密码相关的信息(1931-223-133-223),这里将不会涉及具体...
CodeIgniter是一个轻量级、高性能的PHP框架,专为开发者提供强大而高效的工具来创建全功能的Web应用程序。这个框架以其简单易用、文档丰富和极小的学习曲线而受到欢迎。下面我们将深入探讨CodeIgniter的核心特性、...
在压缩包中的"敏捷开发Codeigniter"可能包含了关于如何在CodeIgniter框架下实践敏捷开发方法的资源,比如快速原型设计、持续集成、测试驱动开发等实践。这些资料可以帮助开发者更好地运用敏捷理念,提高开发效率和...
在本文中,我们详细介绍了MVC模式和CodeIgniter框架的特点和优势,并讨论了使用CodeIgniter框架的好处。通过本文,读者可以了解到MVC模式和CodeIgniter框架的基本概念和应用,提高自己的开发技能和知识。
PHP 基于 CodeIgniter 框架 CodeIgniter(CI)是一种 PHP 框架,旨在帮助开发者快速、简便地构建应用程序。CI 的出现是为了解决开发者在编写应用程序时遇到的问题,即希望写出运行状态良好的应用程序,同时也希望...
在深入探讨《php100:CodeIgniter框架教程(3)(第17讲)》的相关知识点之前,我们先来了解一下CodeIgniter框架的基本概念及其在PHP开发中的地位。CodeIgniter是一款轻量级、高性能的PHP框架,旨在简化Web应用的开发...
CodeIgniter是一个轻量级、高效且功能丰富的开源PHP框架,专为开发人员提供构建动态网站所需的工具和服务。1.7.1版本是该框架的一个早期稳定版本,它在当时的PHP社区中广受欢迎,因其易用性和灵活性而备受赞誉。 在...