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

Файл Hosts отображает локальный хост в существующий домен, а не подкаталог * обновлено

Я локально разрабатываю веб-сайт через 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, чтобы он работал.