Создайте маршрут, который соответствует всему, что начинается с чего-то, в Codeigniter - PullRequest
0 голосов
/ 03 мая 2018

Я пытаюсь создать маршрут, который соответствует всему, что начинается с "cms". Я попробовал это:

$route['(^cms)'] = 'welcome';

Похоже, буквально соответствует только "cms". Я пробовал другие варианты - безуспешно. В документации Codeigniter четко говорится:

Если вы предпочитаете, вы можете использовать регулярные выражения для определения ваших правил маршрутизации. Допускается любое допустимое регулярное выражение, а также обратные ссылки.

Есть предложения? Отмечу также, что мне нужно иметь возможность ловить маршруты с несколькими слэшами, например "https://mysite/cms/login".

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Использовать маршрут CI на основе doc

$route['cms/(:any)'] = 'welcome';

И получить в контроллере

https://mysite/cms/login/hello
$this->uri->segment(2); // return 'login'
$this->uri->segment(3); // return 'hello'
0 голосов
/ 03 мая 2018

используйте регулярное выражение: ^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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...