CI中的url相关函数以及路由设置和伪静态技术
当使用CI框架进行开发时,我们的一些数据传递的URL不应该写死,可以使用如下方法;比如说我们需要表单提交一个数据;
1.在controller控制器中我们需要先创建一个加载helper和视图的方法;
eg:pubulic fuction add(){
$this -> load -> helper( ‘ url ’ ); //首先加载 helper( 'url' ) 到超级对象中,site_url函数在helper的辅助函数中;
$this -> load -> view( ' user/add ' ) //其次加载视图文件;
}
2.创建一个insert方法来接收post提交的数据;
3.最后就可以在view视图中使用site_url函数生成URL地址
<form action = " <?php echo site_url( ' user/insert ' )> " method="post">
官方的文档中是这么说明的;
根据配置文件返回你的站点 URL 。index.php (获取其他你在配置文件中设置的 index_page 参数) 将会包含在你的 URL 中,另外再加上你传给函数的 URI 参数,以及配置文件中设置的 url_suffix 参数。
推荐在任何时候都使用这种方法来生成你的 URL ,这样在你的 URL 变动时你的代码将具有可移植性;
site_url(控制器/方法);该函数返回项目根目录的url ;
也可以根据需要配置helper辅助函数url的自动加载,但是不推荐使用,如url使用频繁可使用;具体配置操作如下;
在application/config/autoload.php中查找到$autoload[' helper '] = array( 'url' )进行配置;
路由设置,伪静态,隐藏入口文件
在application/config/routes.php文件中查找到$route[ ' default_contorller ' ] = "welcome" ;进行配置,默认配置是welcom控制器;
伪静态技术:
CI中的伪静态通常是在application/config/routes.php文件中写一段正则表达式来完成;
eg : $route[ ' news / [/d]{6} / ([\d] + )\.html ' ] = 'article/show/$1';
//当输入 http://主机名/入口文件/news/234456/4.html 时则会访问到 主机名/入口文件/article/show/4 //(随便输6个数)(这里4是传的参数);
有正则表达式在中间支持,可以使url任意显示成你想显示的url;
隐藏入口文件:
首先要在 apache/conf/httpd.conf 文件中设置 LoadModule rewrite_module modules/mod_rewrite.so 取消注释,重启apache;再新建一个文本文件另存为,文件名输入".htaccess"保存放入CI根目录下(由于.htaccess文件无法直接创建),再在.htaccess文件中输入以下内容即可;
<Ifmodule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} ! -d
RewriteCond %{REQUEST_FILENAME} ! -f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</Ifmodule>
CI中的url相关函数以及路由设置和伪静态技术的更多相关文章
- CodeIgniter学习笔记四:CI中的URL相关函数,路由,伪静态,去掉index.php
一.URL相关函数 1.加载url模块 加载url有两种方式: a.自动加载:在 application/config/autoload.php 中开启 $autoload['helper'] = a ...
- MVC3.0,路由设置实现伪静态IIS中404错误
C# code? 1 2 3 4 5 routes.MapRoute("NewQueryTest.asp", "NewQueryTest ...
- CI中REST URL含有中文怎么处理(报错:The URI you submitted has disallowed characters)
解决方法: 客户端在发送GET URL请求的时候,将含有中文的URL编码即可 比如: 原始:http://localhost/qk/rest/user_album_api/get_user_album ...
- Cognos11中通过URL访问report的设置
1:以往的cognos版本中在报表的属性中可以找到 url的属性,稍加修改就可以通过URL进行访问了 2:Cognos11中找了半天也没有报表URL这个属性,但是IBM官方也给出了解决方案 Answe ...
- Cognos11中通过URL传参访问动态Report
一.需求: 在浏览器输入一个URL,在URL后面加上参数就可以访问一个有提示值的报表?比如下面的报表 二.解决办法 Cognos Model 查询主题设计层概要 Select * from [UCO ...
- MVC中的URL路由(一)
URL路由系统通过对请求地址进行解析从而得到以目标Controller名称为核心的路由数据.Url路由系统最初是为了实现请求url与物理文件路径分离而建立的,MVC的Url Route是将Url地址与 ...
- CI 路由设置
$route['news/show/(:num)']='news/show/$1'; 前边是匹配 网址 后边是 指定控制器 在application/config/文件夹下有routes.p ...
- express中路由设置的坑-----1
router.get('/commodities/sortable', utils.logged, function (req, res) { Commodity.find({force_top:tr ...
- 十四、 React路由(react-router4.x): 动态路由、get传值、React中使用url模块
概述 新闻列表 -跳转-> 详情页 时,想把列表对应的id传到详情页里,可用到三种传值方法: 1.动态路由传值 2.get传值 3.localstorage传值 一.动态路由传值 [App.js ...
随机推荐
- html 复杂表格
123456789 123456789 0000000000 日期 123456789 1234560000000789 ----------- ----------- ----------- --- ...
- MVC控制器返回值
public ActionResult Index(string id)//主页 //参数string searchString 访问方式为index?searchString=xxxx .参数str ...
- jstl与el结合常见用法
JSTL Functions标签库 在JSP文件中使用Functions标签库,要先通过taglib指令引入该标签库: <%@taglib uri=”http://java.sun.com/js ...
- JavaEE的起步
因为某些原因,现在要从.net开发转向J2EE了,在这里记录一下学习经历
- shell脚本—基础知识,变量
shell脚本本质: 编译型语言 解释型语言 shell编程基本过程 1.建立shell文件 2.赋予shell文件执行权限,使用chmod命令修改权限 3.执行shell文件 shell变量: sh ...
- 【转载】Java IO基础总结
Java中使用IO(输入输出)来读取和写入,读写设备上的数据.硬盘文件.内存.键盘......,根据数据的走向可分为输入流和输出流,这个走向是以内存为基准的,即往内存中读数据是输入流,从内存中往外写是 ...
- eas之编辑表单元格
--指定表列行单元不可编辑 // 锁定表格.行.列.单元 table.getStyleAttributes().getProtection().setLocked(true); row.getStyl ...
- 【ABCD组】Scrum meeting 1
前言 第1次会议在6月13日由组长在教9 405召开. 主要对下一步的工作进行说明安排,时长90min. 任务分配 姓名 当前阶段任务 完成情况 所遇困难 贡献时间 下阶段任务 朱石景 编写登录界面代 ...
- NLP问题特征表达基础 - 语言模型(Language Model)发展演化历程讨论
1. NLP问题简介 0x1:NLP问题都包括哪些内涵 人们对真实世界的感知被成为感知世界,而人们用语言表达出自己的感知视为文本数据.那么反过来,NLP,或者更精确地表达为文本挖掘,则是从文本数据出发 ...
- java异常处理的面试题
package test; public class Test { public static int method(int i) throws Exception { try { return 10 ...