我已经很久没有用CI编码了,我想更动态地重写一些我以前有过的路线。
出于某种原因,我添加的这个正则表达式匹配所有内容,我不知道为什么。
$route['([a-z]+-[a-z]+)'] = 'Main/example_function/$1';
它匹配尚未分配的所有其他路由,即使具有多个片段也是如此。它匹配的路由示例:
example.com/aaaaa
example.com/aaaaa-asd
example.com/aaaaa/aaaa
我只需要它来匹配这种风格的特定路线:
example.com/aaaaa-aaaaa
我在不同的路由中还有其他正则表达式,但形式为 example.com/test/([a-z]+),它们工作正常。
将其放在所有其他声明的路由之后不是一种选择,因为并非所有路由都在那里声明。
提前感谢!
你需要这个吗...
正则表达式:^example.com/[a-z]+-[a-z]+$
正则表达式演示
多亏了Sahil Gulati的回答,我发现了错误。正确的正则表达式是:
$route['([a-z]+-[a-z]+)'] = 'Main/example_function/$1';
它会正确匹配我想要的
谢谢!