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)


相关推荐

  • sql server2008 r2 密钥

    sql server2008 r2 密钥sqlserver2008r2密钥Developer:PTTFM-X467G-P7RH2-3Q6CG-4DMYBEnterprise:JD8Y6-HQG69-P9H84-XDTPG-34MB

  • ideaj 2021 激活码_在线激活

    (ideaj 2021 激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~3S9X…

  • PDB文件详解

    PDB文件详解PDB文件的介绍PDB(ProgramDataBase),意即程序的基本数据,是VS编译链接时生成的文件。DPB文件主要存储了VS调试程序时所需要的基本信息,主要包括源文件名、变量名、函数名、FPO(帧指针)、对应的行号等等。因为存储的是调试信息,所以一般情况下PDB文件是在Debug模式下才会生成。PDB文件的调用过程模块(Module),EXE和DLL都可以称之为模块,因为它们都有…

  • DTU连接自建MQTT服务器

    DTU连接自建MQTT服务器DTU连接自建MQTT服务器DTU串口助手连接电脑,图片中485端口被变送器占用,飞线用来测试配置参数如图:重启DTU网络连接正常。启动java服务端启动连接成功发送透传测试数据查看串口助手:收到透传数据DTU发送透传数据查看Java服务端收到透传数据…

  • flowable使用

    flowable使用flowable新增了idm模块,主要用于管理flowable-admin、flowable-idm、flowable-modeler、flowable-rest、flowable-task等模块。flowableidm用于管理的表如下:act_id_priv、act_id_group、act_id_membership、act_id_priv_mapping、act_id_p…

  • matlab逆变器仿真程序,PWM逆变器Matlab仿真「建议收藏」

    matlab逆变器仿真程序,PWM逆变器Matlab仿真「建议收藏」PWM逆变器Matlab仿真摘要在本设计中,首先,针对课设题目要求,进行了系统的总体方案选择,以及各功能模块的方案论证和选择。选择通过升压斩波电路将输入直流电压升高,再利用全桥逆变方式将直流电转换成50HZ的交流电,控制部分采用PWM斩波控制技术。接着,对各功能模块进行了详细的原理分析和电路设计,同时也对可能出现的直流不平衡等问题进行了考虑。并最终通过MATLAB来实现PWM逆变器…

发表回复

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

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