CI框架 — URL

CI框架 — URL

移除 URL 中的 index.php

默认情况,你的 URL 中会包含 index.php 文件:

example.com/index.php/news/article/my_article

如果你的 Apache 服务器启用了 mod_rewrite ,你可以简单的通过一个 .htaccess 文件再加上一些简单的规则就可以移除 index.php 了。

下面是这个文件的一个例子, 其中使用了 “否定条件” 来排除某些不需要重定向的项目(比如不需要后台登录的网站,这时候不需要单一入口进行验证,所以不需要每次都经过index.php文件):

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

在上面的例子中,除已存在的目录和文件,其他的 HTTP 请求都会经过你的 index.php 文件。

注:

1、这些规则并不是对所有 Web 服务器都有效。

2、确保使用上面的规则排除掉你希望能直接访问到的资源。

 

添加 URL 后缀

在你的 config/config.php 文件中你可以指定一个后缀,CodeIgniter 生成 URL 时会自动添加上它。例如,一个像这样的 URL:

example.com/index.php/products/view/shoes

你可以添加一个后缀,如:.html ,这样页面看起来就是这个样子:

example.com/index.php/products/view/shoes.html

 

启用查询字符串

有些时候,你可能更喜欢使用查询字符串格式的 URL:

index.php?c=products&m=view&id=345

CodeIgniter 也支持这个格式,你可以在 application/config.php 配置文件中启用它。 打开你的配置文件,查找下面这几项:

$config['enable_query_strings'] = FALSE;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';

只要把 “enable_query_strings” 参数设为 TRUE 即可启用该功能。然后通过你设置的 trigger 关键字来访问你的控制器和方法:

index.php?c=controller&m=method

注:

如果使用查询字符串格式的 URL,就必须自己手工构造 URL 而不能使用 URL 辅助函数了(以及其他生成 URL 相关的库,例如表单辅助函数),这是由于这些库只能处理 分段格式的 URL 。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/109161.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java匿名对象_匿名对象概念和使用

    java匿名对象_匿名对象概念和使用在千峰“逆战”学习第14天Personperson=newPerson(“骚杰”,66,‘男’);Person类名person对象名newPerson(…)像内存的堆区申请空间,创建一个Person类对象使用的内存空间匿名对象没有名字的对象,没有对象名的对象格式:new构造方法(所需参数)用途1.提高开发效率,隐形眼镜日抛,一次性筷子匿名对象当前行使用…

  • 微信多开(免费版)_wechat国际版

    微信多开(免费版)_wechat国际版惊喜!!!放在前面在我发布文章这一天,下午打开wechaty博客的时候发现重磅:绕过登录限制,wechaty免费版web协议重新荣光这篇文章,可以完美实现无需token即可实现微信登录效果及代

  • tensor 和 numpy 的互相转换

    tensor 和 numpy 的互相转换为什么要相互转换:1.要对tensor进行操作,需要先启动一个Session,否则,我们无法对一个tensor比如一个tensor常量重新赋值或是做一些判断操作,所以如果将它转化为numpy数组就好处理了。下面一个小程序讲述了将tensor转化为numpy数组,以及又重新还原为tensor:2.Torch的Tensor和numpy的array会共享他们的存储空间,修改一个会导致另外的一…

    2022年10月19日
  • 交叉线与直通线的区别

    交叉线与直通线的区别网线分为两种:直通线和交叉线。1>直通线:标准线,两端都采用568B做线标准。两端的线序对是:1、白橙、2、橙、3、白绿、4、蓝、5、白蓝、6、绿、7、白棕、8、棕。注意两端都是同样的线序且一一对应,这种线就是我们平时最常用的网线。直通线一般连接不同的设备,比如电脑和路由器。2>交叉线:反线,一端采用568B做线标准,一端采用568A的标准。一端的线序对是:1、白橙、2、橙

  • 八图h5怎么发给朋友_最酷h5场景

    八图h5怎么发给朋友_最酷h5场景八图h5提供海量h5模板、邀请函、企业宣传、婚礼、会议会展、求职招聘等场景模板,在线一键生成微信邀请函、八图h5全网邀请函在线制作最优惠平台。  为什么场景化h5影响,能在朋友圈火起来?其实纵观这些能引爆朋友圈的H5,无非有以下特点!  1、会讲故事  h5场景说到底就是个新的页面技术,如何玩转h5,主要还是营销和创意,创意其实就是要会说故事,能把故事说好。h5里面整体故事有…

    2022年10月24日
  • 第十七篇:实例分析(1)–初探WDDM驱动学习笔记(八)

    第十七篇:实例分析(1)–初探WDDM驱动学习笔记(八)

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号