【问题标题】:how to create a Codeigniter route如何创建 Codeigniter 路由
【发布时间】:2019-02-07 14:19:35
【问题描述】:

我有一个 CodeIgniter 网站,内页的链接结构如下所示:

http://www.example.com/pages/Campus-Tour/18/3

pages 是我的控制器名称和 Campus-tour,18 和 3 是传递给 index 方法的值。

我想做一个漂亮的 url,我可以在 routes.php 中使用类似的东西吗?

$route['campus-life/campus-tour'] = 'pages/Campus-Tour/18/3';

显示此网址“http://www.example.com/campus-life/campus-tour

【问题讨论】:

    标签: php codeigniter routing friendly-url


    【解决方案1】:

    以下是路由的语法。请使用这个:

    $route['pages/Campus-Tour/(:any)/(:any)'] = 'pages/campus-tour/$1/$2';
    

    【讨论】:

      【解决方案2】:

      仅供参考:有效的函数名称以字母开头下划线 , 后跟任意数量的字母、数字或下划线。


      如果您将带有此的数据 URL 传输到 pages/Campus-Tour/18/3campus-life/campus-tour,则显然缺少您的 URL 参数,如您所见。

      你可以做的是 <form> 提交 POST 并且在函数中,你可以捕捉到这些。

      可见

      <form action ="campus-life/campus-tour" method ="post">
          <input type="hidden" name="first_param" value = "18"/>
          <input type="hidden" name="second_param" value = "3"/>
          <input type="submit"> # make this a No button. Should looks like <a> tag. Use CSS. (check Link)
      </form>
      

      在控制器中

      function Name() #add valid function/controller name
      {
          # catch the POST values
      }
      

      参考:How to make a button look like a link?

      【讨论】:

        【解决方案3】:

        请使用此语法进行路由。

        $route['string-that-you-want-to-show-in-url'] = 'controller/function/arg1/arg2';
        

        示例 --

        $route['campus-life/campus-tour'] = 'pages/campus_tour/$1/$2';
        

        注意:- PHP 不支持在函数名中使用连字符(-),您的函数名(Campus-Tour)无效,请检查并使用上述语法。

        【讨论】:

          猜你喜欢
          • 2014-07-08
          • 2011-02-01
          • 2023-03-14
          • 1970-01-01
          • 2014-04-19
          • 2017-01-18
          • 2015-03-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多