Используя подстановочные знаки 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
.)