CodeIgniter用户指南:CodeIgniter URL

 

默认情况下,CodeIgniter 中的 URL 被设计成对搜索引擎和人类友好。不同于使用标准“查询字符串”方法的是,CodeIgniter 使用基于段的方法:

example.com/news/article/my_article

注意:查询字符串形式的 URL 是可选的,分述如下。

URI 段

根据模型-视图-控制器模式,在此 URL 段一般以如下形式表示:

example.com/class/function/ID

  1. 第一段表示调用控制器类。
  2. 第二段表示调用类中的函数或方法。
  3. 第三及更多的段表示的是传递给控制器的参数,如 ID 或其他各种变量。

URI 类和 URL 辅助函数中的函数可以使你的 URI 更简单的工作。另外,使用 URI 路由特性可以将你的 URL 重定向,以获得更大的灵活性。

删除 index.php 文件

默认情况下,index.php 文件将被包含在你的 URL 中:

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

你可以很容易的通过 .htaccess 文件来设置一些简单的规则删除它。下面是一个例子,使用“negative”方法将非指定内容进行重定向:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

如果你的项目不在根目录请把上面这一句改为:RewriteRule ^(.*)$ index.php/$1 [L]< p>

在上面的例子中,可以实现任何非 index.php、images 和 robots.txt 的 HTTP 请求都被指向 index.php。

添加 URL 后缀

通过设置 config/config.php 文件,你可以为 CodeIgniter 生成的 URL 添加一个指定的文件后缀。举例来说,如果 URL 是这样的:

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

你可以随意添加一个后缀,例如 .html,使其显示为:

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

(icebird注:英文中由于参数可直接看懂其含义,并未说明应修改哪个参数,在这里应修改$config['url_suffix']这个参数。)

启用查询字符串

在一些情况下你需要在 URL 中使用查询字符串:

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

CodeIgniter 支持这个功能是可选的,可以在 application/config/config.php 文件中进行设置。如果你打开 config 文件可以看到如下内容:

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

如果你将 enable_query_strings 更改为 TRUE ,那么这个功能就被激活了。此时,你就可以通过关键字来调用需要的控制器和方法了:

index.php?c=controller&m=method

请注意:如果你使用查询字符串,那么就必须使用自己建立的 URL ,而且不能使用URL 辅助函数(或是其他生成 URL 的辅助函数,例如表单辅助函数),因为这些都是根据分段 URL 设计的。

 

翻译贡献者: Hex, icebird, longjianghu, zhupeng
CodeIgniter框架URL重写配置与优化指南 URL重写是Web开发中提升SEO友好性和用户体验的重要技术,通过服务器配置实现请求路径的转换。其核心原理是利用mod_rewrite(Apache)或try_files(Nginx)等机制,将动态请求映射到统一的入口文件。在PHP框架如CodeIgniter中,合理配置URL重写能显著提升系统安全性和性能,同时改善移动端访问体验。典型应用场景包括隐藏入口文件index.php、实现RESTful风格URL、多应用路由分发等。本文以CodeIgniter为例,详细解析Apache/Nginx环境下.htac 阅读详情

相关推荐

CodeIgniter框架URL重写优化与配置指南

URL重写是Web开发中的关键技术,通过服务器配置将复杂URL转换为简洁友好的形式。其核心原理是利用服务器模块(如Apache的mod_rewrite或Nginx的try_files)对请求进行重定向处理,隐式调用应用入口文件。这种技术不仅能提升URL美观度和SEO效果,还能更好地支持RESTful架构。在CodeIgniter等PHP框架中,通过结合路由配置与服务器重写规则,可以实现15-20%的URL点击率提升。典型应用场景包括内容管理系统、电商平台等需要友好URL的项目。实施时需注意服务器性能优化和安

weixin_42520796的博客 240

CodeIgniter框架通过URL向控制器传递参数

  通过URL传递参数的方法是GET,在CodeIgnter框架中,通过URL有两种方式向控制器传递参数: 一种是键值对的形式。 一种是类似于文件路径的形式,这个时候,不是以键值对的形式了,我们只传递值。      首先,看第一种键值对的形式,这个就是最常见的,最普通的用法,比如向Hello控制器的index方法传递name="abc",age=30,那么可以向下面这样:...

JOKER0707的博客 661

CodeIgniter URL机制与优化实践

URL路由是现代Web框架的核心机制,通过解析请求路径映射到对应的控制器方法。CodeIgniter采用分段式URL设计,通过控制器/方法/参数的层级结构实现清晰的路由逻辑,这种模式相比传统查询字符串更利于SEO优化。在工程实践中,需要正确处理index.php重写问题,Apache通过.htaccess配置,Nginx使用try_files指令实现。路由配置文件支持正则表达式匹配,可实现动态URL到控制器的灵活映射。针对高并发场景,建议采用路由缓存、精简规则等优化手段,当规则超过50条时可考虑模式匹配重构

weixin_29214335的博客 259

[CodeIgniter4]-CodeIgniter URL

CodeIgniter URL 在默认情况下,CodeIgniter 中的 URL 被设计成对搜索引擎和用户友好的样式。 不同于使用传统的在动态系统中使用代词的标准 “查询字符串” 的方式,CodeIgniter 使用基于段的方法: example.com/news/article/my_article URI 分段 如果遵循模型-视图-控制器模式,那么 URI 中的每一段通...

浩秦的博客 457

1.triton镜像使用

1)拉取镜像2)启动容器指定模型仓库时可以执行server下的./fetch_model.sh,见2.2部分GPU版本的启动CPU版本的启动区别只在于--gpus=1这个参数注意:docker19.03之前的版本使用gpu要指定显卡硬件名,docker19.03之后的需要安装nvidia-container-toolkit或nvidia-container-runtime安装之后要重启docker查看gpus参数是否安装成功重新执行我遇到了如下错误先使用非GPU版本的。

天启的博客 2077

Ubuntu 22.04 “软件与更新”装了NVIDIA驱动,WiFi等设备不见了

在Win10装了Ubuntu22.04的双系统,台式机里面有NVIDIA 3080Ti的独立显卡,Ubuntu默认使用的nouveau驱动,需要更换成NVIDIA相应的驱动,在软件和更新里面一键安装了NVIDIA-driver-535-server之后,发现wifi、蓝牙等设备消失了。这个问题的根源据说跟这个nouveau驱动有关,希望linux社区可以解决这个问题。命令安装后 sudo reboot就可以重新看到WiFi以及蓝牙等设备图标了。然后用U盘拷贝到不能上网的Ubuntu22.04系统上,利用。

me_ysd的博客 5852

分享codeigniter 路由(URL)终极优化

A8U论坛的开发者发现看样子很有必要发个帖子了,URL格式是如此的重要 转自这里,可以看一下原文. A8U论坛的开发者发现事前先说明白一点,使用CI开发生成地址应该100%用site_url()辅助函数和相关辅助函数实现,实在不行自己扩展url辅助函数.否则你会遇到或者可能遇到头疼的或潜在的问题. 还有一点要明白anchor() redirect() current_url(

小发猫 2143

gtsam 学习十(ISAM2 理论)

翻译自:iSAM2: Incremental Smoothing and Mapping Using the Bayes Tree 摘要 提出了一种新型的贝斯树处理稀疏矩阵,在转化为因子图,可以更好的求解平方根信息和映射问题。 文中提出了三个概念 使用概率密度项进行矩阵分解 介绍如何将矩阵分解转换为贝叶斯数和条件概率密度 基于贝叶斯树提供了一种新的系数非线性优化:ISAM2(进行重新排序和重新线性化,避免了批量更新) 问题描述 文章聚焦与如何用增量实时解决非线性问题, 利用增量即新的测量值实时更新估

weixin_37781153的博客 8407

CodeIgniter的URL URI

************************ URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。而URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指...

chongpusu5443的博客 244

【ComfyUI 基础教程】ComfyUI 局部重绘工作流教程

本篇指南将带你了解 ComfyUI 中的局部重绘工作流,并带你完成一个局部重绘的示例,以及遮罩编辑器的使用等。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 301

LLC 谐振变换器开发设计1

本文档详细介绍了基于DSP28335的LLC谐振变换器开发设计。系统采用频率调制(FM)控制方式,实现高效率、高功率密度的隔离型DC/DC变换。文档阐述了LLC拓扑结构和工作原理,给出了谐振频率、品质因数等关键参数的计算公式。硬件设计包括功率器件选型和采样电路实现,软件部分提供了DSP28335的核心控制算法和代码示例,涵盖频率转换、PI控制和PWM生成。系统还设计了启动策略和保护机制,确保可靠运行。该设计实现了主开关零电压开通和低纹波输出特性。

329

CodeIgniter URLs 完全指南:Segment 式 URL、去除 index.php 与 Query String 模式

本文以 CodeIgniter 官方用户指南 [user_guide_src/source/general/urls.rst](https://link.gitcode.com/i/1d89535ccb1adc13b5a59d554ce4b4c4) 为主体,系统讲解 CodeIgniter 的 URL 体系:默认的 Segment(分段)式 URL 如何映射到控制器与方法、如何通过 `.htacc

gitblog_00598的博客 460

41、矩形和圆柱形开槽微带贴片天线设计及性能分析

本文提出了一种适用于ISM频段(2.4 - 2.48 GHz)的微带圆形贴片天线,专为生物医学植入和可穿戴设备设计。通过在贴片上蚀刻矩形槽并去除圆柱形槽,实现了小型化与性能优化。采用Rogers 3010基板材料,结合缺陷接地结构(DGS)技术,有效改善了带宽、回波损耗和极化纯度。仿真结果显示,天线在弯曲状态下仍保持良好性能,回波损耗达-13 dB,VSWR为1.6,方向性提升至5.38 dB。与以往设计相比,本次设计在回波损耗和谐振频率稳定性方面表现优异,具备良好的生物相容性和应用潜力。未来将从开槽结构、

github5actions的博客 258

CodeIgniter lighttpd URL重写

由于开发环境使用的是lighttpd服务器,我本机环境使用的是Apache配置,导致部署到开发机后,所有的链接地址全部跳转到首页。 分析了下,index.php/controller/function ,controller没有生效,应该是路由分发的缘故。 配置lighttpd配置的url重写规则: url.rewrite-once = ( "/(.*)\.(.*)" => "

cychai的专栏 2306

CloudCompare 和 PCL:点云网格化分析与处理

点云网格化是将点云数据转化为规则网格的过程,其主要思想是将离散的点云投影到一个平面上,然后对该平面进行划分,形成一系列小区域。在点云网格化方面,PCL 提供了各种算法和工具,可以实现高效的点云网格化操作。以上示例代码中,首先加载了输入的点云数据,然后通过设置合适的网格化算法参数,如搜索半径和最大三角形边长等,执行了网格化操作,最后将网格化结果保存到输出文件中。以上示例代码中,首先加载了输入的点云数据,然后通过设置合适的网格化参数,如分辨率等,执行了网格化操作,最后将网格化结果保存到输出文件中。

TechPulseZ的博客 1290

当C#遇见声音魔法:从麦克风到文字的0.1秒奇幻漂流

为什么选300Hz?因为人声基频通常在85-255Hz,但清脆的“啊”可能到2kHz,所以300Hz是安全区!(参考知识库[1])

墨夶的博客 365

php用户验证跳转,Codeigniter实现处理用户登录验证后的URL跳转_PHP

CI框架Codeigniter处理用户登录验证后URL跳转,主要涉及到了My_Controller.php页面以及登录验证模块User.php页面,具体代码如下:My_Controller.php页面:代码如下:class MY_Controller extends CI_Controller{public function __construct(){parent::__construct();...

weixin_28755331的博客 289

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

CodeIgniter URL结构

CodeIgniter 的URL 结构设计得简洁且易于管理。

sheji888的专栏 764

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

CodeIgniter URL Helper 完整指南:从链接生成到跳转重定向的实战手册

URL Helper 是 CodeIgniter 框架中与 URL 打交道的第一工具集:无论你是要生成基于站点配置的绝对链接、构造 `mailto` 邮件链接、把正文里的 URL 自动转成可点击链接,还是做登录拦截式的 301/302 跳转,它都能一手包办。本文将围绕 [官方 URL Helper 文档](https://link.gitcode.com/i/a1f9c07a053c921dafd

gitblog_00400的博客 416

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

nginx下安装codeigniter框架和url(伪静态)重新方法

codeigniter在nginx安装配置及URL重写配置nginx配置config.php创建控制器 配置nginx 修改nginx配置文件 server { listen 80; server_name yier.ci.com; rewrite_log on; root /usr/share/nginx/html/yier.ci.com; ...

徊忆羽菲 1122

php 登录 验证 跳转,Codeigniter处理用户登录验证后URL跳转

Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:My_Controller.phpclass MY_Controller extends CI_Controller{public function __construct(){parent::__construct();/*判断是否登录,判断当前URL是否是au...

weixin_34182361的博客 317

去掉CodeIgniter URL中的index.php

转自:http://www.nowamagic.net/php/php_RemoveIndexInCi.php CI默认的rewrite url中是类似这样的,例如你的CI根目录是在/CodeIgniter/下,你的下面的二级url就类似这样http://localhost/CodeIgniter/index.php/welcome。不太好看,怎么把其中的index.php取掉呢? 1

ly519620513的专栏 2114

CodeIgniter URL

启用查询字符串 当使用index.php?c=product&m=view&id=345时,需要在application/config/config.php中设置$config[‘enable_query_strings’] 为TRUE 添加URL后缀 通过设置config/config.php中$config[‘url_suffix’]这个参数,可以以example.com/index

812

URL Rewriting for CodeIgniter

What is URL Rewriting? URL rewriting provides shorter and more relevant-looking links to web pages on your site. This improves the readability and the search rankings of your URLs. For example, U...

大郭的涂鸦 170
上一篇: CodeIgniter用户指南:CodeIgniter 是什么?
下一篇: 人生时间表. 如果您有了时间
SleepInDelphi
博客等级 码龄19年 32粉丝 388原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值