Как настроить сайт WordPress на сервере до того, как домен будет готов?

Я завершил установку с помощью wp-cli. Прямо сейчас сервер доступен только в VPN моей организации, и домен (скажем, foo.org) используется существующим сайтом (не WordPress), который будет выведен из эксплуатации, как только этот новый сайт WordPress будет готов.

Когда я установил WordPress, я установил URL-адрес домена, который мы планируем использовать, как только сайт будет готов (foo.org). В процессе разработки веб-сайт будет доступен в браузере по его IP-адресу (скажем, 192.168.0.0).

Это приводит к возникновению проблемы, когда ни одно из активов не загружается при посещении сайта по адресу https://192.168.0.0 . Например, он пытается найти таблицу стилей на этом несуществующем адресе:

  • https://foo.org/wp-content/themes/twentyseventeen/style.css?ver=4.7.2

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

При этом существует ли сложившаяся конвенция или наилучшая практика для решения этой ситуации?

Solutions Collecting From Web of "Как настроить сайт WordPress на сервере до того, как домен будет готов?"

Обычно я просто сопоставляю файл моих хостов с правильным IP-адресом. Это будет работать, если вы только хотите работать на сайте только из своей коробки.

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

Одно быстрое исправление, по-видимому, состоит в том, чтобы просто скопировать URL-адрес в файл wp-config.php . Следуя документации в Codex , я добавил эти две строки в начало wp-config.php

 define('WP_HOME','https://192.168.0.0'); define('WP_SITEURL','https://192.168.0.0'); 

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

 define('WP_HOME','https://foo.org'); define('WP_SITEURL','https://foo.org'); 

Любые непреднамеренные последствия для этого подхода, которые я должен отметить?

Я хочу опубликовать свой комментарий в качестве ответа, чтобы он стал более полезным.

Обычный способ установки URL-адреса (htaccess plus database / wp-options update) – установить URL-адрес в .htaccess, а также таблицу wp-options для URL-адресов для дома и сайта.

Существует хорошая причина не делать этого в wp-config, как упоминается на сайте WordPress Codex :

Это не обязательно лучшее исправление, это просто hardcoding значения в самом сайте. При использовании этого метода вы больше не сможете редактировать их на странице общих настроек.

Это имеет смысл после перемещения нескольких сайтов; все, что вы можете сделать, чтобы сделать это проще, вы будете делать. 🙂

Изменить: добавить фактический код для .htaccess, затем wp-config.php:

 # BEGIN WordPress # You will need to edit this to suit your server location <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress 

В своей базе данных перейдите в таблицу wp_options и найдите «URL-адрес сайта» и «Домашний URL-адрес» (они находятся рядом с верхней частью при открытии phpmyadmin) и измените их на URL-адрес, который вы хотите отобразить.

Если вам нужно обновить файл хостов, вам нужно указать URL-адрес, который вы хотите, чтобы ваш веб-сайт отображался так же, как вы делали в шаге wp-options выше.

Я нашел самый простой способ – изменить значение имени домена в таблице wp_options на локальный IP-адрес сайта. Затем вы можете проверить сайт до тех пор, пока доменное имя не будет готово.

Когда вы будете готовы жить, просто вернитесь в таблицу wp_options и измените URL-адрес на доменное имя (с IP-адреса, который использовался при тестировании). Для этого легко найти два местоположения.