Я локально разрабатываю веб-сайт через MAMP, и вместо того, чтобы возиться с изменением всех моих ссылок и т.д., позже я открыл etc/hosts
и добавил эту строку 127.0.0.1 localhost mysite.com
так что мой сайт считает, что mysite.com
доменное имя, это отлично работает. Однако я не могу получить доступ к части моего сайта в субдомене и т. Д. sub.mysite.com
маршруты к localhost
. Есть ли способ проложить маршрут localhost
к mysite.com
но все еще держите sub.mysite.com
доступно?
ОБНОВЛЕНИЕ: я только что узнал, что мой субдомен перенаправляется на мой домен. Я собираюсь предположить, что практически невозможно предотвратить маршрутизацию localhost в какой-то конкретный каталог, например. mysite.com/example/
.
Я только что выяснил, в чем проблема. Если вы посмотрите в свой private/var/log/apache2/error_log
(или каким-либо другим файлом журнала ошибок) вы заметите, что есть ошибка, которая говорит VirtualHost overlap on port XXXX
.
Чтобы избежать перекрытия (по умолчанию для первого VirtualHost) укажите NameVirtualHost
в вашем httpd.conf вот так:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "/Users/Thomas/Sites/mysite"
ServerName mysite.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Users/Thomas/Sites/subsite"
ServerName sub.mysite.com
</VirtualHost>
Возможно, вы уже догадались, как это сделать, но мне было трудно найти ответ самому, поэтому я мог бы облегчить его поиск другим людям.
В Windows, я думаю, что если «domain.com» сопоставлен с localhost, он не зависит от sub.domain.com. Вам необходимо указать каждый поддомен в файле hosts, чтобы он работал.