【问题标题】:CodeIgniter routing when routing url starts with variable路由url以变量开头时的CodeIgniter路由
【发布时间】:2012-08-09 12:33:51
【问题描述】:

当路由 url 以如下变量开头时,我在 codeigniter 路由上遇到问题 -

$route['(:any)/(:any)']  = "home/index/0/N/DealsAmount/ASC/$1/$2";

当我通过 url 传递值时,我可以配置其他路由 url。 例子: 以下事情完美地工作

$route['About-Us/Team'] = "aboutus/team";
$route['About-us/Jobs'] = "aboutus/jobs";
$route['About-Us/FAQ'] = "aboutus/faq";

但我使用这个 url 使用如下的变量 --

$route['About-Us/Team/(:any)'] = "aboutus/team/$1";
$route['About-Us/Team/(:any)/(:any)'] = "aboutus/team/$1/$2";
$route['About-us/Jobs/(:any)'] = "aboutus/jobs/$1";
$route['About-Us/FAQ/(:num)'] = "aboutus/faq/$1";

然后它重定向到主页,这意味着此路由在这里不起作用 $route['(:any)/(:any)'] 正在工作 我如何能够路由这些类型的 url 你能告诉我吗.

【问题讨论】:

    标签: php codeigniter routing url-routing


    【解决方案1】:

    您必须将带有:any 的路线放在底部。如果你把它放在顶部,其他路线永远不会被抓住。这应该没问题:

    $route['About-Us/Team/(:any)/(:any)'] = "aboutus/team/$1/$2";
    $route['About-Us/Team/(:any)'] = "aboutus/team/$1";
    $route['About-us/Jobs/(:any)'] = "aboutus/jobs/$1";
    $route['About-Us/FAQ/(:num)'] = "aboutus/faq/$1";
    $route['(:any)/(:any)']  = "home/index/0/N/DealsAmount/ASC/$1/$2";
    

    【讨论】:

    • 不客气。您可以点击我的答案旁边的“V”将您的问题标记为已解决。
    猜你喜欢
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 2013-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多