跟我学网站开发框架CodeIgniter之url篇
来源:互联网 发布:猎豹wifi mac 编辑:程序博客网 时间:2024/05/01 23:38
如何删除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制作分页的时候,这个就可以派上用场了。
- 跟我学网站开发框架CodeIgniter之url篇
- 跟我学网站开发框架CodeIgniter之url篇
- 跟我学框架之struts框架搭建(一)
- 跟我学框架之struts框架搭建(二)
- 跟我学Android应用开发 之 开发环境搭建
- 跟我学aspectj之二 ----- 搭建开发环境
- 跟我一起学Keras之实例篇(1)
- 跟我一起学Keras之实例篇(2)
- 跟我学ios 开发 (一)
- 跟我一起学JQuery插件开发
- 【第十章】集成其它Web框架 之 10.1 概述 ——跟我学spring3
- 【第十章】集成其它Web框架 之 10.4 集成JSF ——跟我学spring3
- 【第十章】集成其它Web框架 之 10.1 概述 ——跟我学spring3
- 【第十章】集成其它Web框架 之 10.1 概述 ——跟我学spring3
- 【第十章】集成其它Web框架 之 10.4 集成JSF ——跟我学spring3
- 【第十章】集成其它Web框架 之 10.1 概述 ——跟我学spring3
- 【第十章】集成其它Web框架 之 10.4 集成JSF ——跟我学spring3
- 【第十章】集成其它Web框架 之 10.1 概述 ——跟我学spring3
- 《unix环境编程》笔记-文件IO
- MAC OS截屏
- 配置tomcat的默认路径
- StreamTokenizer的使用
- UML图示(1)
- 跟我学网站开发框架CodeIgniter之url篇
- 标准模板库--STL 进行C++编程--前言(初读感悟)
- IIS是如何处理asp.net请求的
- 完全的一周
- JavaScript中实现函数重载和参数默认值
- 横向滚动公告html + css + js
- 存储过程,default
- 6个常见的 PHP 安全性攻击
- 该死的“代码就是文档”