如果某个字符串在CodeIgniter的url中,如何告诉routes.php不使用控制器?

时间:2012-07-30 12:20:53

标签: php regex codeigniter routes

所以,我正在解决这个问题。 我有两种类型的URL:

本地主机/ EN /妇女

本地主机/ EN /女性/产品

我试图告诉CodeIgniter如果 localhost / en / women 使用路由X,但如果 localhost / en / women / products 使用路由Y,但它总是使用X路线。

我尝试使用正则表达式排除/ products段:

$route['^en/women(?!products)(.*)'] = "women";

$route['^en/women/products'] = "products";

但我似乎无法让它发挥作用。

我希望你能得到我在这里寻找的东西。 任何反馈都是适当的。

2 个答案:

答案 0 :(得分:0)

$route['en/women/?'] = "women";
$route['en/women/products'] = "products";

应该解决这个问题吗?

默认情况下,基本上^$存在于正则表达式中。

或许你需要一个:

$route['^en/women/products'] = "products";
$route['^en/women/?'] = "women";

上面有products,它应该覆盖。

答案 1 :(得分:0)

使用CI的WildCards!

$route['en/women'] = "women";
$route['en/women/(:any)'] = "products";