【问题标题】:codeigniter routes代码点火器路线
【发布时间】:2011-10-27 13:59:18
【问题描述】:

需要下一个: 我使用codeigniter 2.02 我用 htaccess 删除 index.php

我有控制器帖子和路线

$route['(:any)'] = "post/index/$1";

我得到了我想要的:domain.com/14 代替了 domain.com/post/14

但是现在我有了我想要的下一个控制器:登录、成员等。

但是如果我去 domain.com/login 我会被重定向到 domain.com ......所以如果有人能给我解决方案,那么我可以去登录控制器......使用一些带有路由的正则表达式!

这是我的路线:

$route['default_controller'] = "index";
$route['404_override'] = '';
$route['(:any)'] = "post/index/$1";
$route['signup/(:any)'] = "signup/index/$1";

hier是我需要的效果:

domain.com/camera-33455-cannon-2001
domain.com/samsung-6678-new-gallaxy-2

并且还可以获得其他控制器,例如

domain.com/signup

tnx

【问题讨论】:

    标签: codeigniter routes


    【解决方案1】:

    路由按照它们在您的routes.php 文件中出现的顺序进行处理。因此,如果您将控制器放在顶部,(:any) 应该只处理以前未处理的任何内容。

    尝试将其更改为:

    $route['default_controller'] = "index";
    $route['404_override'] = '';
    $route['signup/(:any)'] = "signup/index/$1";
    $route['(:any)'] = "post/index/$1";
    

    【讨论】:

    • 这就是我所拥有的 $route['default_controller'] = "index"; $route['404_override'] = ''; $route['(:any)'] = "m/index/$1"; $route['signup/(:any)'] = "signup/index/$1";但 id 不起作用
    • 尝试按照此页面使用语法:codeigniter.com/user_guide/general/routing.html
    • 我尝试了几个月...但没有找到...我开始使用您建议的网址
    【解决方案2】:

    您只想要post/index 路由的数字吗?使用这个可能会更好:

    $route['default_controller'] = "index";
    $route['404_override'] = '';
    $route['signup/(:any)'] = "signup/index/$1";
    $route['(:num)'] = "post/index/$1";
    

    这样,/15 将重定向到 /post/index/15,但 /bob 仍将加载 Bob 控制器。

    【讨论】:

    • 这是我想要的东西:domain.com/camera-33455-cannon-2001
    • 如果您看到注册,有没有办法在这条路线上说...不要忽略它!所以对于每个制造的控制器,我都可以制作路线
    • 好的,你应该更新你的问题以反映你真正想要的。 (就个人而言,我认为将其保留为/post/camera-33455-cannon-2001 会更好,但这只是意见。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-09
    相关资源
    最近更新 更多