Я пытаюсь убедить свой Apache указать localhost
к /Sites
. Что я делаю не так?
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<VirtualHost *>
DocumentRoot "/Users/username/Sites"
ServerName localhost
</VirtualHost>
Я пишу это постыдно только по одной причине: я нашел ветку именно с этим вопросом, которая закончилась тем, что пользователь задавал вопросы, говоря: «Все заработало. Слишком стыдно сказать, в чем проблема».
Я чуть не убил себя.
listen localhost:80
Вот чего мне все время не хватало. Там для будущих поколений. Аминь.
Без дополнительной информации я не могу точно сказать, почему это происходит. Apache чувствителен к порядку, в котором виртуальные хосты указаны в его конфигурации. Однако я бы использовал здесь. Если вам не нужны другие виртуальные хосты на основе имен на 127.0.0.1.
Кроме того, вам может быть полезно использовать следующую команду, чтобы узнать, что Apache думает о конфигурации вашего виртуального хоста:
apache2 -t -D DUMP_VHOSTS
В зависимости от вашей конкретной системы команда «apache2» может быть другой, например «httpd». Если вы используете Windows, я не знаю, будет ли она вообще работать.
Что решает localhost? Это может быть IPv6 :: 1 или что-нибудь в 127.0.0.0/8.