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

Не удается заставить www cname работать в apache и связывать

В Cent OS 6, apache 2.2, Bind 9.7.3 я не могу загрузить свои домены с www cname. Если я наберу example.com, он загрузится нормально, но www.example.com загрузит мой основной каталог apache из / var / www / html.

Вот что у меня в httpd.conf:

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot "/var/www/html/_domains/example.com"
ServerName example.com
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "/var/www/html/_domains/example2.com"
ServerName example2.com
</VirtualHost>


<VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName 94.00.00.00
</VirtualHost>

А файл зоны для example.com выглядит так:

$ttl 38400
example.com.    IN  SOA example.com. webmaster.example.com. (
            1326544028
            10800
            3600
            604800
            38400 )

example.com.          IN NS   ns1.example.com.
example.com.          IN NS   ns2.example.com.
ns1.example.com.               IN A    94.00.00.00
ns2.example.com.               IN A    94.00.00.00
example.com.          IN A    94.00.00.00
mail.example.com.             IN A    94.00.00.00
www.example.com.              IN CNAME        example.com.
example.com.          IN MX  10 mail.example.com.

Любые мысли о том, почему www.example.com загружает каталог html по умолчанию /var/www/html вместо того /var/www/html/_domains/example.com ?

Это потому, что вы не включаете www в свой виртуальный хост. Итак, Apache не знает, о чем вы говорите. Итак, вам также нужно добавить ServerAlias:

<VirtualHost *:80>
   DocumentRoot "/var/www/html/_domains/example.com"
   ServerName example.com
   ServerAlias *.example.com
</VirtualHost>

Похоже, вам нужно ServerAlias директива. Итак, определение вашего виртуального хоста должно выглядеть так:

<VirtualHost *:80>
DocumentRoot "/var/www/html/_domains/example.com"
ServerName www.example.com
ServerAlias example.com *.example.com
</VirtualHost>

Для получения дополнительной информации вы можете видеть.

Вам понадобятся строки:

ServerAlias www.example.com

ServerAlias www.example2.com