WordPressのカスタマイズやテーマファイル、プラグインの作り方などデータベース構造から詳しく解説します。

AWSのロードバランサーを使用した際の$_SERVER[‘HTTP_HOST’]について

仕事でアクセス数が増えたことによって、AWSでロードバランサーを使用するようにしました。
今回起こった問題は、管理画面内「投稿一覧」のページネーションをクリックし、2ページ目に遷移する際にログアウトしてしまうという問題です。

調べたところ、ページネーションの部分だけロードバランサーのもう片方のURLへ遷移しておりました。
今回はその問題を解決した際に書き換えた部分を簡単に紹介します。

class-wp-list-table.phpを書き換えた

投稿一覧のページネーションを調べたところclass-wp-list-table.php内に書き込まれているようでした。

$current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );

上記の$_SERVER[HTTP_HOST]が悪さをしているようでしたので以下のように書き換えました!!!!

$current_url = set_url_scheme( site_url($_SERVER['REQUEST_URI']) );

何をしたかと言いますと、PHP構文である$_SERVER[‘HTTP_HOST’]の取得でロードバランサーのURLを取得しており、欲しいURLを返してくれなかったので、WordPressの構文であるsite_url($path, $scheme)を使うことにし、URLを取得することにしました!!

同じ状況になる方は少ないと思われますが、AWSとWordPressを使用する場合は少し注意が必要になりますね!

関連記事

ページ上部へ戻る