Недавно мне пришлось очистить свой ПК, и теперь я снова настраиваю среду разработки с помощьюВАМП.
После установкиВАМП, если я посещу http://localhost
вместо того, чтобы увидетьВАМПМеня перенаправляют на домашнюю страницу http://x.x.x.x
, где x.x.x.x
мой IP.
У меня была эта проблема на другом ПК, и после установки правил входящих подключений для Apache HTTP Server в настройках брандмауэра Windows, чтобы разрешить все домены, проблема была устранена. Я применил это к своему ПК, и проблема, похоже, не проявляется в Internet Explorer, тогда как в Chrome и Firefox проблема перенаправления localhost на мой IP сохраняется даже после очистки кэша для каждого браузера.
Мой C:\Windows\System32\drivers\etc\hosts
файл выглядит так:
127.0.0.1 localhost
::1 localhost
а мои правила брандмауэра выглядят так:
В настоящее время я не использую vhosts и нахожусь в сети на своем рабочем месте (будет ли это иметь какое-либо значение?)
Я также столкнулся с той же проблемой при использованииЛарагонкоторый использует vhosts, и всякий раз, когда я посещал виртуальный хост, например mysite.dev, он тоже работал некорректно.
Мой вопрос на форуме Laragon:https://forum.laragon.org/topic/126/accessing-mysite-dev-redirects-to-url-which-shows-index-php-at-root-folder/3
решение1
Проблема
Я нахожусь за прокси, который используется для просмотра веб-страниц на моем рабочем месте. Прокси, похоже, портил разрешение DNS всякий раз, когда я делал вызов localhost (при использовании wamp) или одного из моих vhosts (при использовании Laragon).
Это стало ясно, когда я запустил следующее из командной строки: ping site.dev
Я получал ожидаемый ответ от 127.0.0.1
. Однако при переходе site.dev
в браузере я был перенаправлен на свой IP, так что по сути мой etc/hosts
файл игнорировался для разрешения DNS.
Разница между ними в том, что браузер использует прокси-сервер, а командная строка — нет!
Решение
Перепробовав множество различных решений, которые, казалось, работали только для localhost (на wamp), но не для vhosts (на Laragon), я наконец нашел решение, которое оказалось на самом деле очень простым!
Итак, для Chrome я просто зашел в chrome://settings/
> Сеть - Изменить настройки прокси-сервера > Настройки локальной сети > Прокси-сервер - Дополнительно
Затем вИсключенияВ текстовое поле я добавил следующее:
*.dev;localhost;127.0.0.1
Вот скриншот моих настроек из Chrome/Свойства обозревателя
И это сработало! Надеюсь, это поможет кому-то еще.