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

Невозможно получить доступ к виртуальному хосту Apache 2 на локальном хосте

Изначально я установил корневой каталог в /etc/apache2/sites-available/000-default.conf указать на /home/me/www. Из-за требований нового проекта мне нужно иметь возможность установить /home/me/www/vendor/www в качестве собственного виртуального хоста, как и любой локальный каталог в запросе, исходящем из localhost/blah/blah/blah в настоящее время приведет к его сбою (сайт довольно ужасен с точки зрения кода, поэтому я был нанят для работы над ним).

У меня есть следующий файл конфигурации в моем /etc/apache2/sites-available -

project2.com.conf:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName project2
    ServerAlias localcopy
    ServerRoot /home/me/www/vendor/www/
    DocumentRoot /home/me/www/vendor/www/
    <Directory /home/me/www/vendor/www>
        Header set Access-Control-Allow-Origin "*" 
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
        Require all granted
    </Directory>

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.

    #LogLevel info ssl:warn

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

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

У меня также есть следующая запись в моем /etc/hosts файл:

127.0.0.1   localhost
127.0.1.1   Shevat
127.0.1.2   project2.com

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Однако, когда я пытаюсь получить доступ project2.com через мой браузер он отображает содержимое /home/me/www вместо этого, потому что, как я сказал выше, я установил его в качестве глобального веб-корня в /etc/apache2/sites-available/000-default.conf.

Есть ли способ переопределить глобальные настройки корневого веб-узла / виртуального хоста в этом случае для правильного доступа к project2.com?

Вы должны указать полное имя хоста при настройке параметра ServerName:

ServerName project2.com

Поскольку вы перестали использовать '.com', apache не знает, как отправить вас туда.