Вопрос или проблема
Итак, я хостингую свой сайт на WordPress на своем ПК. 192.168.1.5:25566 (перенаправление порта). На своей локальной сети я могу получить доступ к главной странице и другим страницам сайта. Но снаружи локальной сети я могу получить доступ к главной странице, но не могу получить доступ к другим страницам сайта. Я подозреваю, что это связано с тем, что ссылки на другие страницы имеют формат 192.168.1.5:25566/page2, поскольку 192.168.1.5:25566 установлено в Настройки>Общие.
Так что я ввел адрес своего сайта WordPress в Настройки>Общие как 80.90.484.594 (мой публичный IP, не мой реальный публичный IP, потому что я не собираюсь его давать). После этого сайт WordPress и все его страницы могут быть доступны извне локальной сети, но не внутри локальной сети. Я думал, что настроил свой сервер Apache для прослушивания 192.168.1.5:25566, но почему-то WordPress, насколько я знаю, работает на Apache и недоступен из моей локальной сети. Есть ли способ получить доступ ко всем страницам как из внешней сети, так и из внутренней?
Я бы сказал, что лучший вариант – оставить ваш WordPress с внешним IP и отредактировать файл hosts внутри локальной сети, чтобы ваш внутренний IP разрешался в внешний. Я не вижу возможности иметь два разных URL для одной установки WP.
Ответ или решение
Ваш вопрос о доступности страниц вашего WordPress-сайта как из локальной сети, так и из внешней сети затрагивает несколько ключевых аспектов настройки веб-сервера и конфигурации самого WordPress. Давайте разберемся с этой ситуацией поэтапно.
1. Проблема с доступом к страницам
Вы упомянули, что ваш сайт доступен на локальном IP-адресе (192.168.1.5:25566) и что главная страница загружается как с локальной сети, так и с внешней, но остальные страницы недоступны из внешней сети. Это можно объяснить тем, что WordPress ссылается на локальный IP-адрес для своих внутренних ссылок, что делает их недоступными извне.
2. Конфигурация WordPress
Когда вы изменили URL сайта в настройках WordPress на ваш публичный IP-адрес (80.90.484.594), вы действительно получили доступ к сайту извне, но это нарушило работу в локальной сети. WordPress использует настройки из Settings > General
, чтобы создавать ссылки на страницы, и если у вас указаны внешние адреса, это может привести к проблемам с доступностью внутри вашей сети.
3. Решение проблемы
Для того чтобы решить вашу проблему, я рекомендую следующее:
a. Изменение файла hosts
Чтобы ваши внутренние запросы обрабатывались корректно, вы можете изменить файл hosts
на каждом устройстве в вашей локальной сети:
-
Для Windows:
- Откройте блокнот от имени администратора.
- Перейдите по пути
C:\Windows\System32\drivers\etc\hosts
. - Добавьте строку:
80.90.484.594 mywebsite.local
(заменитеmywebsite.local
на желаемое имя).
-
Для macOS или Linux:
- Откройте терминал.
- Введите
sudo nano /etc/hosts
. - Добавьте строку:
80.90.484.594 mywebsite.local
.
Теперь, когда вы будете вводить mywebsite.local
в браузере, он будет перенаправлять вас на ваш сайт, используя внешний IP-адрес даже из локальной сети.
b. Использование плагинов
Вы также можете рассмотреть возможность использования плагина, такого как WP Local Network, который поможет вам настраивать различные URL-адреса для доступа к вашему сайту как из локальной, так и из внешней сети.
4. Настройки Apache
Проверьте конфигурацию вашего Apache веб-сервера. Убедитесь, что он правильно обрабатывает запросы как на локальном, так и на внешнем IP-адресе, и что фаерволл не блокирует порты. В конфигурационном файле Apache вам необходимо убедиться, что сервер слушает на нужном порту:
Listen 25566
<VirtualHost *:25566>
DocumentRoot "C:/path/to/your/wordpress"
ServerName 80.90.484.594
...
</VirtualHost>
Заключение
Использование одного и того же сайта с двумя различными IP-адресами может быть непростой задачей, но благодаря редактированию файла hosts
и возможному использованию плагинов, вы сможете преодолеть эти сложности. Также не забывайте проверять настройки вашего роутера и фаервола, чтобы убедиться, что они не блокируют ваши запросы.
Если у вас остались вопросы или возникают дополнительные проблемы, не стесняйтесь обращаться за помощью!