У меня есть сервер apache, настроенный на перенаправление каждого запроса в index.php, чтобы я мог использовать URL-адреса, такие как:
http://www.website.com/about/us
Теперь мне нужно проанализировать URL-адрес, чтобы определить, существует ли каждый маршрут и что от него ожидать, чтобы я мог установить таблицу базы данных для сохранения маршрутов, чтобы мои клиенты могли редактировать свои маршруты так, как им нравится , Дело в том, что я пока не могу выполнить разбор.
Вот мой код:
$uri = 'about/us';
$regex = '(page(/<action>))';
if ( ! preg_match($regex, $uri, $matches)) {
echo 'the route doesn\'t match';
exit();
}
Оно всегда показывает это эхо-сообщение. Что я делаю не так?
редактировать:
Причина, по которой мне нужно регулярное выражение, заключается в следующем. Представьте, что у меня есть сегмент URL, например:
/user/yoda
Регулярное выражение здесь будет полезно для анализа первого аргумента как действия или страницы, а второго - как ключа, который будет разрешать только определенный набор символов, как если бы я хотел ожидать, в этом случае, второго параметра только для соответствия "_-azAZ09", как-то так. Другими словами, набор выражений регулярных выражений сравнил бы меня с uri, чтобы определить, совпадает ли любое из них с uri, и определить, какое действие следует предпринять с этого момента. Использование функции разнесения заставило бы меня оценить сегменты uri позже в коде, чего я бы хотел избежать. Если нет совпадения с URI, немедленно перенаправьте страницу на страницу 404 и прервите операцию. Не знаю, ясно ли я прояснил ..