估计很多人学习CodeIgniter第一步想做的就是如何去掉index.php,这个官方手册就有相关教程,修改.htaccess 文件(前提是你的服务器是apache):
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
当然了,有很多人按照要求修改了,但是却出现了错误,所有的访问都404了,而且,这个404是apache的404页面,而不是CodeIgniter的404错误页面。
出现这种问题,是对apache的rewrite规则不理解:
- 第一行、将RewriteEngine引擎设置为on,就是让url重写生效;
- 第二行、配置url重写规则,!^(index\.php|images|robots\.txt) 这个正则表达式指明了哪些文件不需要重写,而是直接访问;
- 第三行、^(.*)$是一个正则表达式,意思是对所有请求都发送到/index.php/$1,熟悉url的人都知道,以反斜杠(/)开头的,都是相对路径,相对于谁呢?根,也就是网址。
所以呢,如果CodeIgniter如果不是安装在网站的根目录,必然会出现错误。如何解决呢,在CodeIgniter手册中也给出了相应的解决方案:
把上面最后一句改为:
RewriteRule ^(.*)$ index.php/$1 [L]
只需要去掉index.php前面的斜杠就行。
如何添加url后缀
通过上面的步骤,我们已经隐藏了index.php了,现在我们制作的网站更加的rest了,一般人已经无法一眼就看出你的网站是用CodeIgniter开发的,还是ROR开发的。
但是,如何在url后面增加后缀呢,这样,我们甚至可以隐藏或者伪造网站的开发语言,通过修改 config/config.php 文件,你可以为 CodeIgniter 生成的 URL 添加一个指定的文件后缀,比如你可以添加.html,甚至你可以添加.asp,.jsp。
这样我们就可以将 http://www.hualai.net.cn/index.php/news/view/about 变成 http://www.hualai.net.cn/index.php/news/view/about.html了。如何使用查询字符串
一般情况下我们不需要使用查询字符串,但是,总有一些特殊情况,是我们用CodeIgniter的rest模式无法完成的,这样我们就需要在 URL 中使用查询字符串:
index.php?c=products&m=view&id=345
CodeIgniter 默认此功能是关闭的,如果想开启的话,打开配置文件 application/config/config.php 您可以看到如下内容:
$config['enable_query_strings'] = FALSE;
$config['controller_trigger'] = 'c'; //控制器名
$config['function_trigger'] = 'm'; //方法名
$config['directory_trigger']='d'; //控制器所在子目录名称
如果你将 enable_query_strings 更改为 TRUE ,那么这个功能就被激活了。此时,你就可以通过关键字来调用需要的控制器和方法了:
index.php?c=controller&m=method
当我们在使用CodeIgniter制作分页的时候,这个就可以派上用场了。
相关推荐
在压缩包中的"敏捷开发Codeigniter"可能包含了关于如何在CodeIgniter框架下实践敏捷开发方法的资源,比如快速原型设计、持续集成、测试驱动开发等实践。这些资料可以帮助开发者更好地运用敏捷理念,提高开发效率和...
我想展示的是,CI 可以用于开发一个正式的网站。目前,我手头上有几个正在运行的客户网站,我希望依照我指定的方式去对其进行检测控制以及测试,同时记录下程序操作行为,在我需要时我可以得到一份相关的报告。 ...
CodeIgniter是一个轻量级、高性能的PHP框架,专为开发者提供快速开发应用程序的工具。它的设计目标是简化开发过程,使程序员能够更专注于编写代码,而不是去解决底层的复杂问题。这个框架以其简单易用的API、清晰的...
CodeIgniter是一个基于PHP的轻量级Web应用框架,它以敏捷开发为核心,旨在简化PHP开发者构建高效、安全且易于维护的网站。该框架提供了一系列强大的工具和组件,包括Model-View-Controller (MVC)架构、数据库抽象层...
CodeIgniter是一个基于PHP的轻量级Web应用框架,它以简单、高效和灵活性著称。这个框架使得开发者能够快速地构建高质量的Web...无论你是初学者还是经验丰富的开发者,CodeIgniter都能为你的PHP开发之旅带来便捷和乐趣。
CodeIgniter是一个轻量级且高效的PHP开发框架,它为开发者提供了一套强大的工具来创建全功能的Web应用。这个框架以其简洁的架构、出色的性能和丰富的文档支持而备受推崇。资源中的三个文件分别提供了不同角度的...
CodeIgniter是一个轻量级、高效且易于学习的PHP框架,专为快速开发Web应用程序而设计。它提供了简洁的API,使开发者能够更专注于编写代码,而不是配置环境。本手册将深入探讨CodeIgniter的核心概念、架构以及如何...
PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter...
PHP敏捷开发框架-CodeIgniter,快速web应用开发详解
教程名称:PHP敏捷开发 使用CodeIgniter 框架 8天完成电子商务网站的开课程目录:【】1.CI入门【】10.添加分类【】11.编辑分类【】14.商品属性添加和显示【】15.商品添加页面展示-ajax应用【】17.商品详细页【】18....
1.快速开发:CodeIgniter框架提供了一种快速的开发方式,开发者可以快速构建Web应用程序。 2.灵活性高:CodeIgniter框架提供了一种灵活的方式来开发Web应用程序,开发者可以根据需要选择不同的组件和库。 3.高效率:...
这篇文章是有关 CodeIgniter 的(以下简称 CI),CI 是一个达成以上目标的框架。 如果你只是要达成一个最终的结果,而把中间所有的编码细节和复杂统统丢给一个框架,CI 是你最好的朋友。 CI 有很多优点:免费,轻...
在教育网站的开发中,CodeIgniter可以被充分利用,以实现高效、可扩展和易于维护的代码结构。下面将详细介绍如何使用PHP的CodeIgniter框架来构建一个教育网站。 首先,让我们了解一下CodeIgniter的核心特性: 1. ...
### 使用CodeIgniter框架快速开发PHP应用 #### CodeIgniter框架简介 CodeIgniter(简称CI)是一款基于PHP的轻量级Web应用开发框架,它旨在简化PHP开发过程中的复杂度,让开发者能够更快地构建出高效、稳定的应用...
《CodeIgniter1.7敏捷框架开发》一书由Jose Argudo Blanco与David Upton共同撰写,由Packt Publishing在2009年11月首次出版。这本书旨在帮助PHP开发者提升编码效率,通过免费、紧凑且开源的MVC框架——CodeIgniter...
4. **URL友好的路由**:CodeIgniter允许自定义URL结构,使网站的URL更加整洁和搜索引擎友好。通过路由机制,你可以灵活地控制请求如何映射到控制器方法上。 5. **错误处理与日志**:CodeIgniter具有强大的错误处理...
标题中提到的知识点涵盖了英文网站设计、开发、设计文档、PHP框架Codeigniter、以及...通过这样的文档,初学者可以掌握如何利用LAMP环境和Codeigniter框架来进行有效的网站开发,从而构建出既美观又实用的英文网站。
7. URI路由:CodeIgniter允许自定义URL路由规则,可以根据需求将URL映射到不同的控制器方法,提高URL的美观性和SEO友好性。 8. 应用配置:CodeIgniter支持通过配置文件调整框架的行为,如设定全局变量、设置邮件...
下面将详细探讨CodeIgniter的关键特性和在开发中的应用。 1. MVC架构:CodeIgniter采用Model-View-Controller(MVC)设计模式,将业务逻辑、数据处理和用户界面分离,提高了代码的可维护性和复用性。`index.php`...