Я пытаюсь обернуть свою голову вокруг перезаписи мод, но, похоже, не могу понять это.
Есть ли способ, которым я мог бы сделать следующее?
Типы пользователей в: http://wildcard.mydomain.com
Тихо пишет:
http://mydomain.com/index.php?username=wildcard
Вы должны захватить первую часть домена в RewriteCond
а затем использовать это в RewriteRule
. Дополнительные RewriteCond
s предназначены для предотвращения перезаписи www.mydomain.com
и index.php
RewriteEngine on RewriteCond %{HTTP_HOST} !^www\. RewriteCond %{REQUEST_URI} !index\.php RewriteCond %{HTTP_HOST} ^(.+?)\.mydomain\.com$ RewriteRule .* /index.php?username=%1 [L]
Но это лишь небольшая часть необходимой функциональности. Кроме того, вы должны настроить записи DNS для всех своих доменных имен username.mydomain.com
или настроить *.mydomain.com
DNS-записи *.mydomain.com
указывающую на ваш хост.
В противном случае клиент пытается связаться с jcraine.mydomain.com
, например, и не находит запись DNS и жалуется.
Если это виртуальный хост , вы также должны добавить ServerAlias
для каждого из ваших имен пользователей
ServerAlias jcraine.mydomain.com
или подстановочный знак, набивающий все поддомены
ServerAlias *.mydomain.com
Должен сделать трюк.
RewriteCond %{HTTP_HOST} ^(users)\.example\.com$ RewriteRule ^(.*)$ http://www.example.com/?username=%1 [L]