我正在尝试创建一个匹配以“cms”开头的任何内容的路由。 我试过这个:
$route['(^cms)'] = 'welcome';
它似乎只是字面上匹配“cms”。我尝试过其他变化 - 没有成功。 Codeigniter的文档明确指出:
如果您愿意,可以使用正则表达式来定义路由规则。允许使用任何有效的正则表达式,以及后引用。
有什么建议吗?我还要注意,我需要能够捕获具有多个斜杠的路线,例如“https://mysite/cms/login”。
答案 0 :(得分:1)
使用正则表达式:^cms.*$
说明:
^ asserts position at start of a line
cms matches the characters cms literally (case sensitive)
.* matches any character (except for line terminators)
* Quantifier — Matches between zero and unlimited times, as many times as possible, giving back as needed (greedy)
$ asserts position at the end of a line
答案 1 :(得分:0)
根据doc
使用CI路线$route['cms/(:any)'] = 'welcome';
https://mysite/cms/login/hello
$this->uri->segment(2); // return 'login'
$this->uri->segment(3); // return 'hello'