У меня чрезвычайно странная проблема, которая, кажется, присутствует только в Chrome, IE и Firefox в порядке. У меня есть 2 веб-сайта, обслуживаемых 1 IP-адресом, у меня есть 2 одинаковых файла на доступных сайтах с именами site1.com и site2.com. Я запускаю команду a2ensite для создания ссылок на сайты с поддержкой.
Все перенаправления работают отлично, за исключением site1.com с использованием Chrome.
В Chrome, если я наберу www.site1.com, он перенаправит меня в нужную папку /var/www/site1.com, если я наберу http://site1.com он перенаправляет меня не в ту папку / var / www
Вот где это становится странным: когда я набираю www.site2.com, он перенаправляет меня на /var/www/site2.com, а когда я набираю http://site2.com он правильно перенаправляет меня на /var/www/sites2.com
Чего я не понимаю, так это то, что файлы виртуального хоста идентичны, за исключением фактического ServerName, псевдонима и расположения журналов.
Site1
<VirtualHost *:80>
ServerAdmin webmaster@site1.com
ServerName site1.com
ServerAlias www.site1.com
DocumentRoot /var/www/site1.com
#<Directory />
# Options FollowSymLinks
# AllowOverride None
#</Directory>
#<Directory /var/www/site1.com>
# Options Indexes FollowSymLinks MultiViews
# AllowOverride None
# Order allow,deny
# allow from all
#</Directory>
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
ErrorLog /var/www-logs/site1.com/error.log
CustomLog /var/www-logs/site1.com/access.log combined
</VirtualHost>
Site2
<VirtualHost *:80>
ServerAdmin webmaster@site2.com
ServerName site2.com
ServerAlias www.site2.com
DocumentRoot /var/www/site2.com
#<Directory />
# Options FollowSymLinks
# AllowOverride None
#</Directory>
#<Directory /var/www/site2.com>
# Options Indexes FollowSymLinks MultiViews
# AllowOverride None
# Order allow,deny
# allow from all
#</Directory>
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
ErrorLog /var/www-logs/site2.com/error.log
CustomLog /var/www-logs/site2.com/access.log combined
</VirtualHost>
У меня была такая же проблема, и это сводило меня с ума. Я везде искал какие-либо проблемы с Apache, так как думал, что он выполняет перенаправление.
По-видимому, это была проблема с хромом (возможно, Mac OS). Firefox показывает виртуальные хосты, как и ожидалось.
Вы можете попробовать очистить кеш DNS в браузере. (это то, что у меня работало временно)
Посещение: хром: // сетевые внутренние / # DNS в новой вкладке Chrome.
Затем нажмите на clear host cache
кнопка.
Попробуйте еще раз просмотреть URL-адреса и посмотреть, появляются ли нужные сайты.
Но это не сработало ...
Так что это не было постоянным решением, поскольку оно сработало только в первый раз, когда я сделал это, и у меня снова начались проблемы.
Это решение сработало для меня: https://stackoverflow.com/a/30489627/754854
По сути, просто перейдите в Системные настройки> Сеть> Дополнительно.
На вкладке DNS добавьте свой IP-адрес localhost 127.0.0.1
. Также будьте осторожны, чтобы не переопределить IP-адрес маршрутизатора. По какой-то странной причине знак + удаляет его и заменяет вашими конфигурациями вместо того, чтобы просто добавлять ваши. В этом случае вы захотите снова добавить IP-адрес маршрутизатора. Вы можете увидеть IP-адрес маршрутизатора на странице «Сеть». Без него вам может быть трудно загружать веб-сайты, поэтому убедитесь, что он все еще там.
Порядок имеет значение. Убедитесь, что ваш IP-адрес localhost является первым, а ваш маршрутизатор или что-то еще было настроено вторым:
127.0.0.1
xx.xx.xx.x
Примените свои изменения и проверьте это.
Эта проблема возникала у меня в Mac OS Sierra с использованием Chrome версии 60.0.3112.101 (официальная сборка) (64-разрядная версия)
Так что я не мог с этим разобраться, и это сводило меня с ума, я перешел на nginx. Нет проблем с nginx. Также используется на 50% меньше оперативной памяти.