Как реализовать маршрутизацию URL в PHP.
Если вы используете Apache, вы можете выполнять маршрутизацию URL через mod_rewrite.
Небольшой пример:
RewriteEngine On RewriteRule ^(dir1)/?(path2)? main.php?dir=$1&path=$2
У этого будет любой запрос, например
http://yoursite.com/dir1/path1
обслуживается
http://yoursite.com/main.php?dir=dir1&path=path2
Больше примеров здесь .
В другой альтернативе каждый запрос перенаправляется на один файл php
RewriteEngine On RewriteRule (.*) main.php?request=$1
а затем сделать это в коде, где вы можете использовать аналогичный подход , имея набор регулярных выражений, которые сопоставляются некоторым кодом, а затем перенаправляются через header () или только внутренне.
Прежде всего, вам понадобится Apache (предположим, что ваш веб-сервер Apache) mod_rewrite
будет включен.
Затем вам нужно создать RewriteRule для перенаправления всего на страницу index.php.
Что-то вроде этого может сделать:
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule .* index.php
Он перенаправляет каждый запрос в файл, который не существует для index.php; это означает, что если запрошенный URL-адрес – http://www.example.com/blah, на самом деле это будет index.php.
Об этом, вот пара ссылок, которые могут помочь:
Затем эта страница должна определить, что должно отображаться, в зависимости от того, какой начальный URL был вызван – или какие параметры получены.
Это можно сделать, например, с помощью Front Design Design Design , например, он реализован, например, в большинстве современных PHP-фреймворков.
Вопросов по этому вопросу было много. некоторые из них (и их ответы), вероятно, помогут вам. Например :