当路由 url 以变量开头时,代码点火器路由


CodeIgniter routing when routing url starts with variable

当路由 url 以变量开头时,我在编码点火器路由上遇到问题,如下所示 -

$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";

但是我使用变量来使用这个网址,如下所示 -

$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,你能告诉我吗?

您必须将带有: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";