-->
HOMENETYA BLOGWordPressをCDN環境下で使う場合、オリジンサーバーへリンクしてしまう

WordPressをCDN環境下で使う場合、オリジンサーバーへリンクしてしまう

blog_aboutWPandCDN.png

WordPressはCDN (Content Delivery Network) 環境下でも利用可能ですが、 一部、直接公開する場合とは異なる設定にする箇所があります。
例えば、CDNを利用した以下のような構成を仮定します。

公開URL(サイトアドレス設定)
 https://www.domain.jp/

WordPress アドレス設定
 https://www.domain.jp/wp

オリジンURL
 https://www-origin.domain.jp/

WordPressのサイト内リンクや、CSS等のリソースの参照URLは基本的にはサイトアドレス設定やWordPress アドレス設定を元にURLを組み立てているため一見問題なさそうに見えますが、一部のリンクに関して上記の設定を無視して$_SERVER[‘HTTP_HOST’]等の変数からURLを組み立てているため、正常に動作しません。
リンクをクリックした際にオリジンサーバに移動しようとするためです。
例えば、WordPress5.3においては管理画面の記事一覧や固定ページ一覧のソートのリンク等でこの問題が発生します。

現状、この問題を回避するための手段として
「wp-config.php」の中に以下の記述を追加することで対処が可能です。
(両方記述するのではなく、都合の良い方法を選んで記述してください)

$_SERVER[‘HTTP_HOST’]=$_SERVER[‘HTTP_X_FORWARDED_HOST’];

この方法はリバースプロキシ経由のアクセスで、プロキシサーバが
リクエストヘッダ「HTTP_X_FORWARDED_HOST」を付加してオリジンサーバにリクエストを行う環境で有効です。

$_SERVER[‘HTTP_HOST’]=’www.domain.jp’;

このように直接公開URLのドメインを記述して対処することも可能です。
前述の方法でうまくいかない場合の対処方となります。
ただし、この場合は将来別ドメインに引っ越す際には、忘れずに上記の記述を修正するようにしてください。

$_SERVER[‘HTTP_HOST’]を書き換える、というのはあまり綺麗な対処方法とは言えませんが、CDN環境下やリバースプロキシ環境下で正常に動かず困った場合はこういった対処も検討してください。

Shareこの記事を共有する

新着記事

ランディングページの制作や、作ったサイトの広告出稿、
メールフォーム作成のお問合せ、
中小企業診断士様ご指導による
「IT導入補助金による制作」についてのご相談は
下記のフォームより、お問い合わせください。