Wp-cliを使ってインストールを完了しました。現時点では、サーバーは私の組織のVPN内でのみ利用可能で、ドメイン(例えば、foo.org)はこの新しいWordPressサイトの準備ができ次第廃止される既存の(WordPress以外の)サイトによって使用されています。
WordPressをインストールしたときに、Webサイトの準備が整ったら、URLを使用予定のドメイン(foo.org)に設定します。開発中は、WebサイトはブラウザのIPアドレス(192.168.0.0など)でアクセスされます。
これは私が https://192.168.0.0 にあるサイトにアクセスしたときにアセットがまったくロードされないという問題につながります。たとえば、この存在しないアドレスでスタイルシートを見つけようとします。
ちょっとしたGoogle検索から、WordPressがこれらのアセットに相対URLを使用しない理由はいくつかあります。
それで、この状況に対処するための確立された慣習またはベストプラクティスはありますか?
通常私は自分のhostsファイルを正しいIPにマップするだけです。あなたが自分のボックスからのサイトでのみ作業したいのであれば、これはうまくいきます。
他のものとは対照的に、このオプションの利点は、Wordpressの設定を変更する必要がないということだけです。
1つの簡単な解決策は、単にwp-config.php
ファイルにURLをハードコードすることです。 コーデックスのドキュメント に続いて、これら2行を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とdatabase/wp-optionsの更新)は、.htaccessにURLを設定し、自宅とサイトのURLにもwp-optionsテーブルを設定することです。
WordPress Codexサイト で説明されているように、wp-configでそれをしないのにはもっともな理由があります。
これは必ずしも最善の解決策ではなく、単に値をサイト自体にハードコーディングすることだけです。この方法を使用すると、一般設定ページでそれらを編集できなくなります。
いくつかのサイトを移動した後にこれは理にかなっています。これを簡単にするためにできることは何でもします。 :)
編集:.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
テーブルに行き、 "Site URL"と "Home URL"(phpmyadminを開いたときに一番上にある)を見つけて、それらを表示したいURLに変更します。
Hostsファイルを更新する必要がある場合は、上記のwp-optionsの手順で行ったように、Webサイトに表示させるURLを指定する必要があります。
最も簡単な方法は、wp_optionsテーブルのドメイン名の値をサイトのローカルIPアドレスに変更することです。ドメイン名の準備ができるまでサイトをテストできます。
準備が整ったら、wp_optionsテーブルに戻ってURLをドメイン名に変更します(テストに使用したIPアドレスから)。2つの場所があり、簡単に見つかります。