代码点火器路由

时间:2018-09-02 05:35:46

标签: php codeigniter routing friendly-url

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

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

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

我想制作漂亮的url,所以我可以在routs.php中使用类似的东西吗?

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

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

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:0)

请使用此语法进行路由。

$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)无效,请检查并使用以上语法。 < / strong>

答案 1 :(得分:0)

  

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


如果您以此向pages/Campus-Tour/18/3的{​​{1}}发送数据URL,那么您显然会丢失URL参数。

您可以做的是campus-life/campus-tour <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>

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

答案 2 :(得分:0)

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

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