Я переношу свое приложение, предоставляющее дочерний сайт для каждого пользователя, с domain.com/~user на user.domain.com. Чтобы сделать это, я написал следующее RewriteRule
:
RewriteRule ^~([a-z_]+)(/.*)?$ http://$1.%{HTTP_HOST}$2 [R=301,QSA,NC]
Однако, %{HTTP_HOST}
не делает то, что мне нужно, потому что, если, например, пользователь переходит на www.domain.com/~user
, он перенаправляется на user.www.domain.com
, что явно не то, что я ищу.
Я знаю, что могу заменить %{HTTP_HOST}
на жестко закодированный домен, но я тоже не хочу этого делать, потому что я буду внедрять изменения на нескольких доменах и не хочу настраивать его для каждый. Есть ли лучший способ сделать единственное изменение без жесткого кодирования? (Более того, что если базовый домен уже имеет поддомен - т.е. sub.domain.com/~user
-> user.sub.domain.com
)