Win*_*ute 4 regex routes codeigniter
我想将任何与管理路由不匹配的路由发送到我的"事件"控制器.这似乎是一个相当普遍的要求,粗略的搜索引发了各种类似的 问题.
据我所知,解决方案似乎在正则表达式中使用负向前瞻.所以我的尝试看起来像这样:
$route['(?!admin).*'] = "event";
Run Code Online (Sandbox Code Playgroud)
..哪个有效.好吧,有点.它确实向我的"事件"控制器发送任何非管理员请求,但是我需要它来传递匹配的实际字符串:so / my-new-event /被路由到/ event/my-new-event /
我试过了:
$route['(?!admin).*'] = "event/$0";
$route['(?!admin).*'] = "event/$1";
$route['(?!admin)(.*)'] = "event/$0";
$route['(?!admin)(.*)'] = "event/$1";
Run Code Online (Sandbox Code Playgroud)
......以及其他一些越来越随机和绝望的排列.所有结果都是404页面.
将匹配的字符串传递给控制器的正确语法是什么?
谢谢 :)
我不认为你可以做"负面路由".
但是,由于路线确实有一个订单:"路线将按照定义的顺序运行.较高的路线始终优先于较低的路线." 我会首先做我的管理员然后其他任何事情.
如果我认为您的管理路径看起来像"/ admin/..."我会建议:
$route['admin/(:any)'] = "admincontroller/$1";
$route['(:any)'] = "event/$1";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3218 次 |
| 最近记录: |