【问题标题】:rewriting urls in codeigniter在 codeigniter 中重写 url
【发布时间】:2011-09-23 18:01:07
【问题描述】:

我怎样才能重写下面的codeigniter url

localhost/test_project/pages/show_page/11

localhost/test_project/pages/11

是否可以进一步减少:

localhost/test_project/11

谢谢。

【问题讨论】:

标签: php url codeigniter mod-rewrite


【解决方案1】:

您应该编辑此文件:application/config/routes.php

假设您有一个pages 控制器和一个show_page 方法,其中接收一个id 作为参数(正如您所说)。

您的网址类似于localhost/test_project/pages/show_page/11

我假设参数始终是一个数字,因此使用here 所述的通配符,您可以将以下内容添加到您的routes.php 文件中:

$route['pages/(:num)'] = "pages/show_page/$1";

因此,您的 URL 将类似于 localhost/test_project/pages/3。这就像说如果有人试图访问localhost/test_project/pages/3,他/她实际上是指localhost/test_project/pages/show_page/3

对于像localhost/test_project/3 这样的网址,您可以添加:

$route['(:num)'] = "pages/show_page/$1";

【讨论】:

    【解决方案2】:

    你有几个options。这些是按优先级降序排列的。

    1. 首先是routes.php,这是通常首选的处理方式(信息已经提供,但here又是)。
    2. 您还可以将 _resolve 方法添加到控制器(这意味着 CI 需要首先访问您的控制器),并且
    3. 最后你可以重写 CI_Router 库,这个类实际上返回要去的路由。

    说真的,除非您知道自己在做什么,否则不要覆盖 CI_Router。

    【讨论】:

      猜你喜欢
      • 2016-08-18
      • 1970-01-01
      • 1970-01-01
      • 2012-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多