WordPress неправильно перенаправляет на локальный IP-адрес?

9 апр. 2017 г., 13:38:49
Просмотры: 16.4K
Голосов: 2

Я настроил сервер WordPress на Raspberry Pi с использованием PHP, MySQL и Apache. У меня есть динамический DNS-хост, и я настроил переадресацию портов на роутере.

При попытке доступа к серверу извне локальной сети (например, с телефона через 4G или из школы), когда я ввожу свой динамический DNS-хост, сайт неправильно перенаправляет на локальный IP-адрес сервера: 192.168.0.18, из-за чего страница не загружается.

Это странно, потому что у меня также настроен owncloud на этом же Pi, и при тех же условиях, когда я пытаюсь получить доступ к mydynamicdnshost/owncloud, перенаправления на локальный IP не происходит, и страница успешно загружается.

Я понимаю, что это базовая проблема с настройкой WordPress, но никак не могу её исправить. Если кто-то знает решение, пожалуйста, ответьте на мой вопрос. Большое спасибо!

0
Все ответы на вопрос 3
4

Изменение URL сайта в таблице Options.

UPDATE  `wp_options` SET  `option_value` =  'YOUR_SITE_URL' WHERE  `option_name` = 'siteurl' OR  `option_name` = 'home';

Также измените статические URL в содержимом ваших записей.

UPDATE `wp_posts` SET `post_content` = REPLACE(post_content, '192.168.0.18/YOUR_LOCAL_SITE_URL/', 'YOUR_SITE_URL/');

Не забудьте изменить префикс таблицы, если он не 'wp_'.


Примечание: Получите доступ к PHPMyAdmin вашего сервера. Обратитесь к вашему хостинг-провайдеру, если вы не знаете, как это сделать.

Выберите базу данных WordPress и откройте таблицу wp_options. Измените значения атрибутов 'siteurl' и 'home' на URL вашего рабочего сайта.

Нанять разработчика, если вы не уверены в своих действиях!

Изменение URL сайта в PHPMyAdmin

10 апр. 2017 г. 09:12:38
Комментарии

Извините, не могли бы вы подсказать, в каком файле находятся эти настройки? Я совсем новичок в этой области. Пытался найти их в wp-config.php и других файлах, но безуспешно.

Tupopo Tupopo
11 апр. 2017 г. 10:59:36

Эти настройки также доступны на странице Настройки / Общие, как Адрес WordPress (URL) и Адрес сайта (URL). Эта страница Кодекса содержит дополнительную информацию. Но я не уверен, что этот ответ поможет; мне кажется, вам нужно обновить эти настройки на динамическое имя хоста, которое вы используете, а не на локальный адрес.

MrValueType MrValueType
11 апр. 2017 г. 12:53:51

Обновил ответ.

JItendra Rana JItendra Rana
11 апр. 2017 г. 13:45:47

@GaborBarat Согласен, что подход, описанный на этой странице кодекса, лучше моего решения. Но если его реализовать неправильно, он будет изменять URL сайта и домашний URL в таблице options при каждом запросе.

JItendra Rana JItendra Rana
12 апр. 2017 г. 14:35:08
0

Вдохновленный ответом @jitendra-rana, направление было верным, но не полным.

  1. Сделайте дамп вашей базы данных в файл.
  2. Откройте дамп-файл и замените все http://192.168.0.18 на http://your_site
  3. Выполните дамп-файл, чтобы заменить все данные в базе данных.
  4. Очистите кеш (жесткую перезагрузку) вашего сайта.

Готово.

3 нояб. 2020 г. 23:16:15
0

В целом, изменения записей WP_SITEURL и WP_HOME в таблице wp_option недостаточно для того, чтобы сделать весь сайт доступным. Необходимо изменить все ссылки, включая ссылки на изображения, ссылки на JS и CSS, теги A, и в целом любые ссылки, которые выводятся в HTML.

Я создал плагин и разместил его в репозитории WordPress, который публикует сайт, созданный на локальном веб-сервере, таком как Xampp/Wampp, в сеть. Установив собственный локальный IP-адрес в настройках плагина, ваш WordPress станет доступным в сети.

https://wordpress.org/plugins/local-to-ip/

26 апр. 2024 г. 13:59:00