`

跟我学网站开发框架CodeIgniter之url篇

阅读更多

如何删除index.php文件

估计很多人学习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制作分页的时候,这个就可以派上用场了。

 

7
6
分享到:
评论

相关推荐

    php敏捷开发框架Codeigniter

    在压缩包中的"敏捷开发Codeigniter"可能包含了关于如何在CodeIgniter框架下实践敏捷开发方法的资源,比如快速原型设计、持续集成、测试驱动开发等实践。这些资料可以帮助开发者更好地运用敏捷理念,提高开发效率和...

    PHP敏捷开发框架CodeIgniter

    我想展示的是,CI 可以用于开发一个正式的网站。目前,我手头上有几个正在运行的客户网站,我希望依照我指定的方式去对其进行检测控制以及测试,同时记录下程序操作行为,在我需要时我可以得到一份相关的报告。 ...

    PHP 敏捷开发框架 CodeIgniter

    CodeIgniter是一个轻量级、高性能的PHP框架,专为开发者提供快速开发应用程序的工具。它的设计目标是简化开发过程,使程序员能够更专注于编写代码,而不是去解决底层的复杂问题。这个框架以其简单易用的API、清晰的...

    PHP敏捷开发CodeIgniter框架

    CodeIgniter是一个基于PHP的轻量级Web应用框架,它以敏捷开发为核心,旨在简化PHP开发者构建高效、安全且易于维护的网站。该框架提供了一系列强大的工具和组件,包括Model-View-Controller (MVC)架构、数据库抽象层...

    php敏捷开发框架CodeIgniter快速web应用开发详解

    CodeIgniter是一个基于PHP的轻量级Web应用框架,它以简单、高效和灵活性著称。这个框架使得开发者能够快速地构建高质量的Web...无论你是初学者还是经验丰富的开发者,CodeIgniter都能为你的PHP开发之旅带来便捷和乐趣。

    PHP开发框架CodeIgniter中文参考资料

    CodeIgniter是一个轻量级且高效的PHP开发框架,它为开发者提供了一套强大的工具来创建全功能的Web应用。这个框架以其简洁的架构、出色的性能和丰富的文档支持而备受推崇。资源中的三个文件分别提供了不同角度的...

    PHP 敏捷开发框架 CodeIgniter - 快速 Web 应用开发详解

    CodeIgniter是一个轻量级、高效且易于学习的PHP框架,专为快速开发Web应用程序而设计。它提供了简洁的API,使开发者能够更专注于编写代码,而不是配置环境。本手册将深入探讨CodeIgniter的核心概念、架构以及如何...

    PHP框架之CodeIgniter留言板实例

    PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter...

    PHP敏捷开发框架 CodeIgniter

    PHP敏捷开发框架-CodeIgniter,快速web应用开发详解

    PHP敏捷开发使用CodeIgniter框架8天完成电子商务网站的开

    教程名称:PHP敏捷开发 使用CodeIgniter 框架 8天完成电子商务网站的开课程目录:【】1.CI入门【】10.添加分类【】11.编辑分类【】14.商品属性添加和显示【】15.商品添加页面展示-ajax应用【】17.商品详细页【】18....

    基于MVC模式的PHP开发框架CodeIgniter.pdf

    1.快速开发:CodeIgniter框架提供了一种快速的开发方式,开发者可以快速构建Web应用程序。 2.灵活性高:CodeIgniter框架提供了一种灵活的方式来开发Web应用程序,开发者可以根据需要选择不同的组件和库。 3.高效率:...

    CodeIgniter:php敏捷开发框架web快速开发详解

    这篇文章是有关 CodeIgniter 的(以下简称 CI),CI 是一个达成以上目标的框架。 如果你只是要达成一个最终的结果,而把中间所有的编码细节和复杂统统丢给一个框架,CI 是你最好的朋友。 CI 有很多优点:免费,轻...

    使用php的codeigniter框架做的教育网站

    在教育网站的开发中,CodeIgniter可以被充分利用,以实现高效、可扩展和易于维护的代码结构。下面将详细介绍如何使用PHP的CodeIgniter框架来构建一个教育网站。 首先,让我们了解一下CodeIgniter的核心特性: 1. ...

    使用CodeIgniter框架快速开发PHP应用

    ### 使用CodeIgniter框架快速开发PHP应用 #### CodeIgniter框架简介 CodeIgniter(简称CI)是一款基于PHP的轻量级Web应用开发框架,它旨在简化PHP开发过程中的复杂度,让开发者能够更快地构建出高效、稳定的应用...

    CodeIgniter1.7敏捷框架开发

    《CodeIgniter1.7敏捷框架开发》一书由Jose Argudo Blanco与David Upton共同撰写,由Packt Publishing在2009年11月首次出版。这本书旨在帮助PHP开发者提升编码效率,通过免费、紧凑且开源的MVC框架——CodeIgniter...

    CodeIgniter框架

    4. **URL友好的路由**:CodeIgniter允许自定义URL结构,使网站的URL更加整洁和搜索引擎友好。通过路由机制,你可以灵活地控制请求如何映射到控制器方法上。 5. **错误处理与日志**:CodeIgniter具有强大的错误处理...

    英文网站设计开发设计文档 PHP框架codeigniter LAMP环境

    标题中提到的知识点涵盖了英文网站设计、开发、设计文档、PHP框架Codeigniter、以及...通过这样的文档,初学者可以掌握如何利用LAMP环境和Codeigniter框架来进行有效的网站开发,从而构建出既美观又实用的英文网站。

    PHP 之框架CodeIgniter v1.7.2

    7. URI路由:CodeIgniter允许自定义URL路由规则,可以根据需求将URL映射到不同的控制器方法,提高URL的美观性和SEO友好性。 8. 应用配置:CodeIgniter支持通过配置文件调整框架的行为,如设定全局变量、设置邮件...

    CodeIgniter框架开发

    下面将详细探讨CodeIgniter的关键特性和在开发中的应用。 1. MVC架构:CodeIgniter采用Model-View-Controller(MVC)设计模式,将业务逻辑、数据处理和用户界面分离,提高了代码的可维护性和复用性。`index.php`...

Global site tag (gtag.js) - Google Analytics