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

виртуальные хосты в apache для * .company.com, а затем отдельный для www.company.com

Итак, у меня есть виртуальный сервер для www.company.com:

<VirtualHost *:80>
    ServerName www.company.com
</VirtualHost>

А затем я хотел бы направить * .company.com на другой сайт. Как мне это сделать? Я мог подумать о www. и внутри. направлен на определенные хосты, а "остальное" - на общий хост.

Версия Apache - 2.2.4

Решение к вашему ответу:

<VirtualHost *:80>
    ServerName www.company.com
    ServerAlias company.com
    DocumentRoot /path1
</VirtualHost>
<VirtualHost *:80>
    ServerName *.company.com
    DocumentRoot /path2
</VirtualHost>

Вежливое использование подстановочных знаков "охватывает все" домены.:

<VirtualHost *:80>
    ServerName subdomain1.company.com
    DocumentRoot /path/to/subdomain1
</VirtualHost>

<VirtualHost *:80>
    ServerName subdomain2.company.com
    DocumentRoot /path/to/subdomain2
</VirtualHost>

<VirtualHost *:80>
    ServerName  company.com
    ServerAlias *.company.com
    DocumentRoot /path/to/primary/domain+catchall
</VirtualHost>

Обратите внимание, что порядок имеет смысл, общий домен должен быть последним. Это особенно полезно, чтобы избежать опечатки в URL-адресе клиента, вызывающей ошибку «несуществующий хост», позволяя клиенту вашей компании думать, что вы плохой администратор сервера (а не он плохой типаж: P).