• 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 。

  • 相关阅读:
    Upgrading to MySQL 5.7---focusing on temporal types
    mysqldump备份7
    mysqldump原理5
    mysqldump原理4
    mysqldump原理3
    mysqldump原理2
    mysqldump原理1
    MySQL复制中slave延迟监控
    赵浮云的blog 关注IT运维,开源硬件。
    爱维帮---LVS
  • 原文地址:https://www.cnblogs.com/hf8051/p/5156992.html
Copyright © 2020-2023  润新知