Intereting Posts
Пользовательское поведение при добавлении нового настраиваемого типа сообщения в приборной панели «username_exists» все еще возвращает идентификатор даже после удаления записи из базы данных? Что такое ручка для media.js? Установить переходный процесс с ошибкой получения сообщений Ошибка при сохранении динамических полей Seach и категории, не работающие при игнорировании липких сообщений в основном контуре Добавить пользовательский пост при вставке нового пользователя в WordPress? Добавить значения $ в post_class () Как отобразить имя пользователя, роль и имя сайта с помощью тегов HTML внутри уведомления панели мониторинга? CMB2 metabox создает выбор со списком сообщений от CPT привязка к сообщению вне цикла mysql_real_escape_string () vs. esc_sql () в WordPress Функция get_terms не возвращает ничего Ошибка входа в кэш WordPress (общий кэш w3) @package & @subpackage: как использовать с дочерними темами

Как бороться с WordPress на localhost

Я запускаю сайт WP на своем ноутбуке, используя localhost, и мне часто нужны мои коллеги, чтобы это увидеть. Если они вводят IP-адрес моего дома, они могут получить доступ к сайту, но все URL-адреса в WP, которые использовали site_url () или аналогичные, повторяли «localhost», которые, конечно же, не работали для аутсайдеров.

Поэтому я изменил WP, чтобы использовать свой IP-адрес для URL-адреса сайта, который решил эту проблему, но создал другой. Если я выведу свой ноутбук из дома и попытаюсь просмотреть мой сайт, теперь все ссылки отображаются как http: // home-ip / который недоступен. Кроме того, я не могу попасть в wp-admin, чтобы изменить URL-адрес сайта на localhost, так как меня перенаправляют на http: // home-ip / site / wp-admin / .

Есть ли способ справиться с этим без постоянного изменения URL-адреса каждый раз, когда я хочу, чтобы кто-то другой обращался к нему со стороны, или каждый раз, когда я покидаю дом.

Вы можете использовать wp-config.php для изменения URL wp-config.php сайта в зависимости от того, где находится сайт, используя $_SERVER['REMOTE_ADDR'] . У меня есть что-то вроде этого:

 if ($_SERVER['REMOTE_ADDR'] == '127.0.0.1' || $_SERVER['REMOTE_ADDR'] == '::1') { // accesing site from my local server define('WP_SITEURL', 'http://localhost/mysite/'); define('WP_HOME', 'http://localhost/mysite'); } else if (strpos($_SERVER['REMOTE_ADDR'],'192.168.0.') !== false) { // accesing site from another machine in my home network, // all their (internal) network addresses begin with this number; // the next line provides the server's own internal network address define('WP_SITEURL', 'http://192.168.0.192/mysite/'); define('WP_HOME', 'http://192.168.0.192/mysite'); } else { //accesing site from outside home define('WP_SITEURL', 'http://89.*.*.*/mysite/'); //replace by your external home IP define('WP_HOME', 'http://89.*.*.*/mysite'); } //error_log("Siteurl is ".WP_SITEURL); 

Этот метод также помогает значительно упростить загрузку сайта на производственный сервер или синхронизацию локальных и производственных версий сайта. (Хотя, очевидно, wp-config.php на wp-config.php сервере не должен иметь этот код.)

Примечание. По какой-то причине я не могу использовать внешний домашний IP-адрес с других компьютеров в своей домашней сети; если это не ваше дело, вы можете удалить else if , оставив только часть else .

Хотя приемлемый ответ выглядит хорошим, просто изменение WP_SITEURL / WP_HOME не работает в моем случае, потому что всегда всегда получается множество абсолютных ссылок в текстовом контенте на страницах (то есть изображения или ссылки, добавленные через редактор WYSIWYG) , Другими словами, мне очень нужно использовать один и тот же домен, если я хочу, чтобы сайт работал правильно.

Поэтому, если это помогает кому-то другому, кто сталкивается с этим, мое решение было вне WordPress, хотя это может не помочь во всех случаях.

Я использую домен, например, me.mycompany.com, а затем в моем файле HOSTS я разрешаю его 127.0.0.1 (другими словами, localhost). Для любого из моих коллег, которым необходимо просмотреть сайт, я добавляю свой домен в свой файл HOSTS с моим локальным IP-адресом.

Это решение также расширяется, когда клиенты за пределами нашей сети должны просматривать сайт; мы просто убеждаемся, что me.mycompany.com разрешает наш общедоступный IP (обычно ваш веб-хост может помочь с этим, и это определенно помогает, если у вас есть статический IP-адрес для вашего интернет-соединения), а затем на нашем маршрутизаторе, пройдите по сети запросы на мой внутренний IP, эффективно создавая легкое решение для веб-хостинга (для разработки, конечно, не для производства!)

Надеюсь, это поможет кому-то. Файл HOSTS может быть отредактирован на любой платформе, очевидно, что инструкции отличаются для Windows, Mac и Linux, поэтому лучше всего вам помочь Google, если вам это нужно, но в Windows это файл C: \ Windows \ System32 \ drivers \ etc \ hosts – откройте его в «Блокноте» и внесите необходимые изменения, следуя формату файла (для сохранения файла вам потребуется запустить его как «Администратор»).