Как создать виртуальные каталоги в PHP?

Я хочу создать приложение в PHP, реализующее функцию виртуального каталога.
Пример: http://mydomain.com/user001 отобразит содержимое url http://mydomain.com/index.php?user=user001. Как я могу это сделать?

Примечание:
Я использую сервер Apache.

3 ответов


традиционный способ сделать это -и mod_rewrite.


читайте эта дружественная статья о переписать.

затем попробуйте найти простой способ в PHP проанализировать эту переменную $_SERVER ['REQUEST_URI'].

после этого, у вас есть имя каталога, и вы можете получить свои данные из БД.


перехватить HTTP-запрос, используя элемент 'REQUEST_URI' $_SERVER. Это возвращает (я считаю) только запрошенную страницу, а не весь URI/URL - more info здесь. После того, как вы схватили запрос страницы, замените адрес фактического файла, который необходим. Например, user-friendly www.somewebsite.com/page01 становится запросом на более неуклюжее звучание www.somewebsite.com?page01.php. Этот метод не будет создавать виртуальный каталог, как таковой, но должен работать нормально. Я использовал аналогичный метод самостоятельно сайт, где каждая страница загружается через индекс.php, позволяющий этому файлу вести журнал посетителей в режиме реального времени (на сайте есть Webalizer, который работает день или около того с задолженностью).

переписывание имени файла может сработать, хотя это не в моем личном вкусе. Использование PHP для эффекта URI / URL-swap, вероятно, принесет выгоду от снижения спроса на сервер из-за необходимости меньше времени чтения/записи диска, чем перезапись имени файла.

надеюсь, это поможет.