バックエンドで奇妙な振る舞いをします。これは私のWordPressが置かれている方法のために可能です。
標準リポジトリのUbuntuを使ってVirtualBoxにインストールしました(すなわちapt-get install wordpress)。デフォルトでは/var/www/
にあります。仮想マシンは私の教育機関のWebページのサブフォルダにマッピングされています。それをwww.institution.com/stuff/wordpress
と呼びましょう。
ほとんどの場合、問題なく動作します。バックエンドへのログイン、ページの作成などができます。しかし、Settings/Generalで変更を加えて[Save changes]ボタンをクリックすると、「Error:NotFound」というエラーメッセージが表示されます。変更は保存されますが、WordPressは私をに送信しようとします
www.institution.com/wp-admin/options-general.php?settings-updated=true
しかしこれはする必要があります
www.institution.com/stuff/wordpress/wp-admin/options-general.php?settings-updated=true
(/stuff/wordpress
が見つかりません)
「WordPressアドレスURL」と「サイトURL」の両方が「www.institution.com/stuff/wordpress」に設定されています。しかし、明らかに、これでは不十分です。
誰かが私のWordPressのどこが悪いのかという考えを持っていますか?
私は私の同僚の助けを借りて、wp-config.phpに次の行を追加することでそれを解決しました。
$_SERVER['HTTP_Host'] = $_SERVER['HTTP_X_FORWARDED_Host'];
$_SERVER['REQUEST_URI'] = '/stuff/wordpress' . $_SERVER['REQUEST_URI'];
$_SERVER['SCRIPT_NAME'] = '/stuff/wordpress' . $_SERVER['SCRIPT_NAME'];
$_SERVER['PHP_SELF'] = '/stuff/wordpress' . $_SERVER['PHP_SELF'];
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];