zoukankan      html  css  js  c++  java
  • 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 %{REQUEST_FILENAME} !-f        //此处有大坑。加上这句可保证一般css、js文件正常加载。(注意删掉这句注释哦)
    RewriteCond $1 !^(index\.php|images|robots\.txt)
    RewriteRule ^(.*)$ /index.php/$1 [L]

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

    在上面的例子中,可以实现任何非 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']这个参数。)

    (在config.php里面找到$config['url_suffix']=‘’;赋值为".html";就可以通过shoes.html访问了。

    启用查询字符串

    在一些情况下你需要在 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'; //方法名
    $config['directory_trigger']='d'; //若控制器在子目录下,URL中需带有这个参数,指定控制器所在子目录名称

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

    index.php?c=controller&m=method

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

    转自:http://codeigniter.org.cn/user_guide/general/urls.html

  • 相关阅读:
    《Effective Java中文版第二版》读书笔记
    【jQuery插件】使用cropper实现简单的头像裁剪并上传
    【17-06-19】Java进阶自测:面向对象基础知识掌握了吗?(附答案及个人解析)
    【17-06-16】Java入门测试题,测测你基础知识掌握程度(附答案及个人解析)
    Eclipse配置python开发环境
    PyCharm 安装教程(Windows)
    redis学习-列表(list)常用命令
    redis学习-集合set常用命令
    redis学习-散列表常用命令(hash)
    redis学习-string常用命令
  • 原文地址:https://www.cnblogs.com/youxin/p/3124250.html
Copyright © 2011-2022 走看看