Поддомены подстановочных знаков, блокировать все остальные - PullRequest
1 голос
/ 12 апреля 2011

У меня есть несколько проблем с моим новым VPS, только что купленным. Я пытаюсь настроить Apache для приема поддоменов wildcare на моем главном веб-сайте, но разрешение на это также означает, что я не могу заблокировать все остальные, кроме созданного.

Чтобы быть более точным, у меня есть это:

subdomain1.domain.com -> перенаправляет правильно (CNAME добавлено, папка в порядке, все в порядке) subdomain2.domain.com -> то же, что и субдомен1

subdomainN.domain.com -> поддомен N не существует. Таким образом, если я пишу «stackoverflowreallyrocks.domain.com», меня перенаправляют на мой stackoverflowreallyrocks.domain.com с содержимым domain.com - что не очень хорошо.

Есть ли способ перенаправить все субдомены, которые не существуют, на domain.com?

httpd.conf для основного домена:

<VirtualHost *:80>
    DocumentRoot "/home/domain"
    ServerName www.domain.com
    ServerAlias domain.com
</Virtualhost>
<VirtualHost *:80>
    ServerName subdomain1.domain.com
    DocumentRoot "/home/domain/_subdomain1"
</VirtualHost>
<VirtualHost *:80>
    ServerName subdomain2.domain.com
    DocumentRoot "/home/domain/_domain2"
</VirtualHost>

1 Ответ

1 голос
/ 12 апреля 2011

Попробуйте добавить еще один VirtualHost в конец конфига:

<VirtualHost *:80>
    ServerName *
    ServerAlias *
</Virtualhost>

Другие записи VirtualHost должны по-прежнему совпадать, так как они лучше совпадают, и перед хостом с подстановочными знаками, что позволяетзапросы на попадание в эту последнюю VirtualHost

...