您的位置:网站主页> WEB开发 > codeigniter(CI)框架如何自定义URL规则?

codeigniter(CI)框架如何自定义URL规则?

时间:2018-05-19 16:37:01   编辑:一切随缘   文章来源:php教程网 已阅读:175 次

编程入门教程[www.ask186.com]网站介绍 

    编程入门教程主要涉及WEB开发领域,主要为广大WEB开发人员提供最新的WEB开发资讯信息,包含php教程mysql教程php面试题在线调色板php学习以及常用( Amazon ApiGoogle Api)等API、爱问资源共享HTML转JS不显示xml...[详细]
广告投放: 编程入门教程:www.ask186.com 电话:15818865556

        codeigniter(CI)框架如何自定义URL规则?
        默认情况下,CodeIgniter 中的 URL 被设计成对搜索引擎和人类友好。不同于使用标准“查询字符串”方法的是,CodeIgniter 使用基于段的方法:

        example.com/news/article/my_article
        注意:查询字符串形式的 URL 是可选的,分述如下。
        URI 段

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

        example.com/class/function/ID
        第一段表示调用控制器类。
        第二段表示调用类中的函数或方法。
        第三及更多的段表示的是传递给控制器的参数,如 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]

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

        添加 URL 后缀

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

        example.com/index.php/products/view/shoes
        你可以随意添加一个后缀,例如 .html,使其显示为:     codeigniter(CI)框架如何自定义URL规则?


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

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

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

  • 上一篇:
  • 下一篇:

本文地址:http://www.ask186.com/content/article/web/31222.html(转载请保留)

相关关键词搜索: codeigniter(CI)框架如何自定义URL规则?

发表评论
      
* 以上用户言论只代表其个人观点,不代表www.ask186.com网站的观点或立场
推荐文档更多
编程入门教程 | PHP教程 | Mysql教程 | Apache教程 | 最新文章 | PHP面试题| 网站地图 | Google地图 | Baidu地图 | 在线WEB论坛| 中纪委反腐最新消息

WEB技术QQ交流群:151963186 站长Q号:547214413
版权所有者:编程入门教程 地址:云南省文山州砚山县盘龙乡 滇ICP备12002707号-1
特别声明:本站内容仅供参考,不作为设计及确切依据!想了解更多,可立即进入Bbs提问