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

Субдомен всегда перенаправляет на основной домен - виртуальные хосты Apache2 и Debian

Я хочу создать основной сайт и поддомен для разработки с использованием apache2 VirtualHosts. Вот как выглядит мой файл виртуального хоста site.conf:

<VirtualHost *:80>
        ServerName dev.example.com

        DocumentRoot /var/www/site/subdomain
        <Directory /var/www/site/subdomain >
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel debug

        CustomLog ${APACHE_LOG_DIR}/sub.log combined
</VirtualHost>

<VirtualHost *:80>
        ServerName www.example.com
        ServerAlias example.com

        DocumentRoot /var/www/site/main
        <Directory /var/www/site/main >
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Проблема в том, что каждый раз, когда я захожу на dev.example.com, я просто получаю example.com.

Я пробовал все другие решения, которые мог найти (используя буквальные IP-адреса, переупорядочивая вещи, используя порты вместо именованных хостов) ... Я полностью застрял. У кого-нибудь есть идеи?

Редактировать: Вот дамп моего виртуального хоста (соответствующая часть):

 port 80 namevhost dev.example.com (/etc/apache2/sites-enabled/example.conf:1)
 port 80 namevhost www.example.com (/etc/apache2/sites-enabled/example.conf:44)

Кроме того, если я удалю сайт основного домена, сайт поддомена вообще не будет обнаружен.

Убедитесь, что вы включили свой сайт с

a2ensite dev.mysite.com

Как только вы это сделаете, символическая ссылка на файл конфигурации будет помещена в каталог с включенными сайтами, что должно позволить доступ к сайту при условии, что других проблем не существует.

Этот вопрос дает еще несколько деталей.

Wordpress был проблемой

Или, скорее, я не знал, что мне нужно было настроить URL-адрес сайта Wordpress в качестве поддомена, иначе он просто перенаправил бы на указанный домен ...

Итак, решение: откройте wp_options table и отредактируйте site_url, чтобы включить субдомен.