Назад | Перейти на главную страницу

перенаправление поддомена с подстановочным знаком

Используя подстановочные знаки dns / apache / mod-rewrite, я хочу добиться следующего:

clientname.clients.company.com -> /home/company.com/clients/clientname

Я пробовал правила перезаписи, например:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^\.]+)\.clients\.company\.com
RewriteCond /home/clients\.company\.com/%1 -d
RewriteRule ^(.*) /%1/$1 [L]

ни один из них, похоже, не работает с моделью * .clients.company.com - я получаю ошибку бесконечного цикла.

Похоже, вы в основном пытаетесь настроить динамически настраиваемый массовый виртуальный хостинг. Более простой конфигурацией было бы использовать mod_vhost_alias. В %1 подстановка будет содержать первую часть имени хоста, поэтому следующее установит корень документа соответствующим образом.

UseCanonicalName    Off
VirtualDocumentRoot /home/company.com/clients/%1

(На самом деле вы можете избежать жесткого кодирования большей части пути с помощью /home/%3-/%2/%1.)