【问题标题】:Custem URLs inCodeigniterCodeigniter 中的自定义 URL
【发布时间】:2017-04-28 09:10:17
【问题描述】:

我有一个网址

http://www.example.com/en/category/flowers

我希望通过删除类别 slug 来像下面这样。

http://www.example.com/en/flowers

这里的类别是鲜花

我在路由配置文件中的设置是

$route['en/category/(:any)'] = 'category/view/$1';

我有页面网址

www.example.com/en/page/categoryname/mypage

需要通过删除“页面”slug来获得这种格式

www.example.com/en/categoryname/test-page

设置在路由配置文件中

$route['en/page/(:any)/(:any)'] = 'page/view/$1/$2';

有什么解决办法?

【问题讨论】:

    标签: codeigniter


    【解决方案1】:

    你可以这样做:

    $route['en/flowers'] = 'page/view/1/3';
    

    这里我假设flowers 类别的 id 为 1,而 3 是别的东西。

    【讨论】:

    • 鲜花是类别,我列出了鲜花下的项目。
    • @lospicos 好的。我是这样理解的。
    【解决方案2】:

    怎么样?

    $route['en/(:any)/(:any)'] = 'page/view/$1/$2';
    $route['en/(:any)'] = 'category/view/$1';
    

    【讨论】:

    • 把它放在路由列表的末尾。
    • 我已添加到路由文件的末尾。这也与路由配置中未说明的一些 url 冲突。
    • 网站是 www.ptctour.com
    • 按照我在此处设置的示例。首先设置更具体的路线,然后再不那么具体。 IE。 $route['en/category/(:any)/(:num)'] = 'category/view/$1/$2'; 必须在 $route['en/category/(:any)'] = 'category/view/$1'; 之前。
    • 主要问题是我不想在 url 中使用类别或页面字词。例如 $route['en/(:any)'] = 'category/view/$1';与未在路由配置中设置的 www.example.com/en/cart 冲突。
    猜你喜欢
    • 2014-12-01
    • 2014-03-05
    • 1970-01-01
    • 2016-06-13
    • 1970-01-01
    • 1970-01-01
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多