У меня есть несколько локальных версий веб-сайтов разработки на моем локальном Mac, и я хочу предоставить к ним доступ из браузера через vhosts, а также время от времени использовать живые (веб-версии).
Я читал много примеров того, как люди делали похожие вещи, меняя URL-адрес и заставляя apache прослушивать уникальный URL-адрес для обслуживания из локального местоположения. Я всегда делал это с помощью тем же URL-адрес, но другой порт, и хотя он без проблем работает в Windows, я не могу заставить его работать на Mac.
(Допустим) у меня есть два сайта:
Я хочу получить доступ к локальным версиям, используя тот же URL-адрес, включив прокси-сервер браузера (одним щелчком мыши), который я установил на 8080. apache установлен на Listen *:8080
в httpd.conf.
В httpd-vhosts.conf (который является загружается) у меня есть:
NameVirtualHost *:8080
<VirtualHost *:8080>
ServerAdmin webmaster@amazingwebsite.com
ServerName amazingwebsite.com
ServerAlias www.amazingwebsite.com
DocumentRoot "/Users/username/Development/Projects/amazingwebsite"
<Directory "/Users/username/Development/Projects/amazingwebsite/">
Options Includes Indexes Multiviews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Виртуальный хост facebookkiller.org в основном такой же - просто другое месторасположение.
Мой /private/etc/hosts
теперь установлено на:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 amazingwebsite.com
127.0.0.1 facebookkiller.org
и после перезапуска apache (включение / выключение веб-обмена), apachectl -S
отчеты:
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:8080 is a NameVirtualHost
default server amazingwebsite.com (/private/etc/apache2/other/httpd-vhosts.conf:4)
port 8080 namevhost amazingwebsite.com (/private/etc/apache2/other/httpd-vhosts.conf:4)
port 8080 namevhost facebookkiller.org (/private/etc/apache2/other/httpd-vhosts.conf:19)
Syntax OK
что мне кажется нормальным.
Поведение?:
Итак, мой ServerAlias не работает, или что-то не так с моим файлом hosts - или и тем, и другим!
Я потратил на это целую вечность и действительно мог бы с некоторой помощью - спасибо ..
Vhosts работают, вы неправильно написали свой локальный / etc / hosts. Дело в том, что ваш тайм-аут-потом-работа вызван «www». поиск, скорее всего, приведет к тому, что реальный указатель DNS CNAME вернется к не-www. версия.
127.0.0.1 localhost google.com www.google.com amazon.com www.amazon.com
Вот как вы используете файл hosts - один IP-адрес указан один раз, все псевдонимы в одной строке, и вы должны указать все необходимые поддомены, www. например который будет отправлять трафик на ваш локальный экземпляр Apache.