使用正则表达式在代码点火器中强制路由


Forcing Routing in codeigniter using regex

我在 codeigniter 中有 route.php

中的以下路由
$route['^(?!login|signup|autos|jobs|jobwanted|admin).*'] = "pages/bpages"; 

它正在将所有内容重定向到页面/B页面,除了(登录|注册|自动|工作想要|管理员)

eg www.mysite.com/sohailanwarpk

由于Sohailanwapk不在(autos|jobs|jobwanted|admin)中,它将重定向到页面/页面我面临的问题是在这种情况下,如果我的 URL 是这样的

eg www.mysite.com/autosss
eg www.mysite.com/jobs123

它应该将 autosss 或 jobs123 定向到"pages/bpages"; 但它不是,所以我如何排除匹配(autos|jobs|jobwanted|admin),以便其他所有内容都将被重定向。

将其拆分为 2 条路线:

$route['^(?!(login|signup|autos|jobs|jobwanted|admin)).*']  = "pages/bpages";
$route['^(login|signup|autos|jobs|jobwanted|admin)[^'/].*'] = "pages/bpages";

只需编写 2 条规则:

$route['^(login|signup|autos|jobs|jobwanted|admin)$'] = '$1';
$route['(:any)'] = 'pages/bpages';