移除 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 。

最新文章

  1. 代码的坏味道(22)——不完美的库类(Incomplete Library Class)
  2. Alpha阶段第八次Scrum Meeting
  3. GetLastInputInfo计时用户离开电脑及软件在指定时间锁定等(转)
  4. 【Todo】蒙特卡洛(蒙特卡罗)树 & 卷积网络
  5. 2013 ACM 通化邀请赛D.D-City 并查集
  6. centos下redis和nginx软件的安装
  7. input 的 placeholder属性在IE8下的兼容处理
  8. ASP.NET反射
  9. 监听APP升级广播处理
  10. Verilog中锁存器与多路选择器
  11. struct 如何存储指针类型的值
  12. HttpHeplp 公共类 HttpWebRequest
  13. SmartRoute之大规模消息转发集群实现
  14. web基础知识通信概述URI与http
  15. I2C的小结
  16. Vue 初始化多个Vue 及之间的相互修改
  17. react native项目的创建和运行
  18. HDU - 1525
  19. $好玩的分词——python jieba分词模块的基本用法
  20. Path-O-LOGIC Keynote

热门文章

  1. 每日英语:The Benefits of a Better Men's T-Shirt
  2. iOS开发如何学习前端(2)
  3. Android 编程下背景图片适配工具类
  4. 用户手势检测-GestureDetector使用详解
  5. uWSGI listen queue 队列溢出的问题
  6. Ubuntu14.04下安装eclipse
  7. 关于Android开发的一些个人总结(2016.04)
  8. 朴素贝叶斯分类器的应用 Naive Bayes classifier
  9. 认知计算 Cognitive Computing
  10. JavaScript 中 类型转换