Вам либо нужно реализовать некоторые логи c для добавления виртуальных хостов на http * сервер apache (сложный и сомнительный), либо вы используете хост по умолчанию (тот, который отвечает на все входящие запросы, которые не *) 1002 * обрабатывается существующими vhosts) и реализует внутренние правила переписывания в этом. Это позволяет вам просто раздавать ссылки на такие «субдомены» (фактически имена хостов).
Эти правила переписывания могут выглядеть следующим образом:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com$
RewriteRUle ^ %{REQUEST_URI}?user=%1 [END]
Очевидно, вам нужно будет настроить это в соответствии с вашими фактическими настройками, но оно должно указывать вам правильное направление. Например, вы можете использовать реализацию, которая оценивает запрошенный хост, вместо того, чтобы полагаться на заданный аргумент c http get, как показано выше. Но это детали реализации, которые вы должны решить сами.
Если вы получаете внутреннюю ошибку сервера (http статус 500), используя вышеприведенное правило, то есть вероятность, что вы используете очень старую версию apache http сервера. В этом случае вы увидите определенный намек на неподдерживаемый флаг [END]
в файле журнала ошибок http-серверов. Вы можете попробовать обновить или использовать более старый флаг [L]
, он, вероятно, будет работать так же в этой ситуации, хотя это немного зависит от ваших настроек.
Эта реализация также будет работать в конфигурации хоста http-серверов или в файле конфигурации Dynami c (файл ".htaccess"). Очевидно, что модуль перезаписи должен быть загружен внутри http-сервера и включен на хосте http. Если вы используете файл конфигурации Dynami c, вам нужно позаботиться о том, чтобы его интерпретация вообще была включена в конфигурации хоста и находилась в папке DOCUMENT_ROOT
хоста.
И общее замечание: вы всегда должны предпочитать размещать такие правила в конфигурации хоста http-серверов вместо использования файлов конфигурации Dynami c (".htaccess"). Эти динамические c файлы конфигурации добавляют сложность, часто являются причиной неожиданного поведения, их трудно отладить, и они действительно замедляют работу http-сервера. Они предоставляются только в качестве последнего варианта для ситуаций, когда у вас нет доступа к реальной конфигурации хоста http-серверов (читай: действительно дешевые поставщики услуг) или для приложений, настаивающих на написании своих собственных правил (что является очевидным кошмаром безопасности).