Но как мне создать A-запись? Сейчас есть только один с www.example.com. Если я создам один с example.com, он будет автоматически сопоставлен с example.com.example.com ...
Почему example.com.example.com? Просто попросите ваш DNS-хост вставить A-запись для @ (самого домена), указывающую на IP-адрес сервера.
Затем я должен добавить запись в хост-файл
Нет, если это в DNS, нет.
Тогда у меня есть несколько записей для VirtualHost для apache. Правильный ли этот файл?
Лично я предпочитаю поместить "голое" доменное имя в отдельный раздел с тривиальной директивой Redirect постоянный
, чтобы направлять пользователей на сайт www.
Это позволит избежать (по общему признанию скромного) снижения производительности из-за необходимости анализировать файлы .htaccess с условными перенаправлениями в них.
Это также означает, что вы получите отдельные файлы журнала для двух имен. ИМХО, это хорошо - это упростит определение пользователей домена, из которых на самом деле прибывают, и позволит избежать двойной записи, которую вы бы получили в журнале, если бы это было сделано на одном виртуальном сервере.
Что касается записи dns, вы должны сделать это так:
example.com. A 192.168.x.y
www.example.com. CNAME example.com.
Если у вас есть только файл хоста для тестирования, сделайте следующее:
192.168.1.1 example.com
192.168.1.1 www.example.com
В этом случае файл виртуального хоста должен выглядеть вроде этого:
<VirtualHost 192.168.1.1:80>
ServerName example.com
ServerAlias *.example.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www/html/path
<Directory /var/www/html/path>
AllowOverride None
Options +FollowSymLinks -Indexes -Includes +Multiviews +ExecCGI
Order allow,deny
Allow from all
AllowOverride All
</Directory>
файл htaccess использовать не следует