У меня есть поддомены, настроенные с помощью apache через подстановочный знак:
<VirtualHost xxx.xxx.xxx.xxx:80>
ServerName www.example.com
ServerAlias *.example.com
...
Это работает отлично, за исключением того, что также включает поддомены. Например: www.test.server.com
Как я могу убедиться только subdomains
действительны и subsubdomains
не?
НАСКОЛЬКО МНЕ ИЗВЕСТНО, ServerAlias
поддерживает только подстановочный знак, а не регулярное выражение. Вы должны сделать это с mod_rewrite
, что-то вроде этого:
<VirtualHost xxx.xxx.xxx.xxx:80>
ServerName www.example.com
ServerAlias *.example.com
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(?:[^.]+)\.example\.com [NC]
RewriteRule ^(.*)$ http://example.com$1 [R=301,L,QSA]
</Virtualhost>