当使用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相关函数以及路由设置和伪静态技术的更多相关文章

  1. CodeIgniter学习笔记四:CI中的URL相关函数,路由,伪静态,去掉index.php

    一.URL相关函数 1.加载url模块 加载url有两种方式: a.自动加载:在 application/config/autoload.php 中开启 $autoload['helper'] = a ...

  2. MVC3.0,路由设置实现伪静态IIS中404错误

    C# code? 1 2 3 4 5  routes.MapRoute("NewQueryTest.asp",                 "NewQueryTest ...

  3. CI中REST URL含有中文怎么处理(报错:The URI you submitted has disallowed characters)

    解决方法: 客户端在发送GET URL请求的时候,将含有中文的URL编码即可 比如: 原始:http://localhost/qk/rest/user_album_api/get_user_album ...

  4. Cognos11中通过URL访问report的设置

    1:以往的cognos版本中在报表的属性中可以找到 url的属性,稍加修改就可以通过URL进行访问了 2:Cognos11中找了半天也没有报表URL这个属性,但是IBM官方也给出了解决方案 Answe ...

  5. Cognos11中通过URL传参访问动态Report

    一.需求: 在浏览器输入一个URL,在URL后面加上参数就可以访问一个有提示值的报表?比如下面的报表 二.解决办法 Cognos  Model 查询主题设计层概要 Select * from [UCO ...

  6. MVC中的URL路由(一)

    URL路由系统通过对请求地址进行解析从而得到以目标Controller名称为核心的路由数据.Url路由系统最初是为了实现请求url与物理文件路径分离而建立的,MVC的Url Route是将Url地址与 ...

  7. CI 路由设置

    $route['news/show/(:num)']='news/show/$1';   前边是匹配 网址   后边是  指定控制器 在application/config/文件夹下有routes.p ...

  8. express中路由设置的坑-----1

    router.get('/commodities/sortable', utils.logged, function (req, res) { Commodity.find({force_top:tr ...

  9. 十四、 React路由(react-router4.x): 动态路由、get传值、React中使用url模块

    概述 新闻列表 -跳转-> 详情页 时,想把列表对应的id传到详情页里,可用到三种传值方法: 1.动态路由传值 2.get传值 3.localstorage传值 一.动态路由传值 [App.js ...

随机推荐

  1. html 复杂表格

    123456789 123456789 0000000000 日期 123456789 1234560000000789 ----------- ----------- ----------- --- ...

  2. MVC控制器返回值

    public ActionResult Index(string id)//主页 //参数string searchString 访问方式为index?searchString=xxxx .参数str ...

  3. jstl与el结合常见用法

    JSTL Functions标签库 在JSP文件中使用Functions标签库,要先通过taglib指令引入该标签库: <%@taglib uri=”http://java.sun.com/js ...

  4. JavaEE的起步

    因为某些原因,现在要从.net开发转向J2EE了,在这里记录一下学习经历

  5. shell脚本—基础知识,变量

    shell脚本本质: 编译型语言 解释型语言 shell编程基本过程 1.建立shell文件 2.赋予shell文件执行权限,使用chmod命令修改权限 3.执行shell文件 shell变量: sh ...

  6. 【转载】Java IO基础总结

    Java中使用IO(输入输出)来读取和写入,读写设备上的数据.硬盘文件.内存.键盘......,根据数据的走向可分为输入流和输出流,这个走向是以内存为基准的,即往内存中读数据是输入流,从内存中往外写是 ...

  7. eas之编辑表单元格

    --指定表列行单元不可编辑 // 锁定表格.行.列.单元 table.getStyleAttributes().getProtection().setLocked(true); row.getStyl ...

  8. 【ABCD组】Scrum meeting 1

    前言 第1次会议在6月13日由组长在教9 405召开. 主要对下一步的工作进行说明安排,时长90min. 任务分配 姓名 当前阶段任务 完成情况 所遇困难 贡献时间 下阶段任务 朱石景 编写登录界面代 ...

  9. NLP问题特征表达基础 - 语言模型(Language Model)发展演化历程讨论

    1. NLP问题简介 0x1:NLP问题都包括哪些内涵 人们对真实世界的感知被成为感知世界,而人们用语言表达出自己的感知视为文本数据.那么反过来,NLP,或者更精确地表达为文本挖掘,则是从文本数据出发 ...

  10. java异常处理的面试题

    package test; public class Test { public static int method(int i) throws Exception { try { return 10 ...