wp-config.phpとは?
まず、wp-config.phpとは何か?というお話です。
wp-config.phpとは、
WordPressのインストールを行う際に最も重要となるファイルで、
インストール時に手動で作成するか、または、自動で作成されることになります。
デフォルトでは、
・データベース(MySQL)のアカウント
・認証用ユニークキー
・テーブルプレフィクス
・デバッグモードにするかどうかの設定
などの情報が記載されていますが、
後から手動で様々な設定を追加したり、
プラグインから自動で何かしらの設定が追加されることもあります。
とても大切な情報が記載されたファイルで、
記載されている内容が外部に漏れないようにしっかりと対策を行っておく必要があります。
wp-config.phpは、一つ上の階層に移動させてもOK
wp-config.phpのファイルでよく問題視されるのが、
設置される場所が、WordPressのインストールディレクトリの直下になる為、WEBの公開領域に上がっていることです。
WEBの公開領域に上がっているということは、
そのURLを叩けば、ブラウザ上などから直接アクセス出来てしまいます。
例えば、
WordPressをドキュメントルートにインストールしている場合には、
https://example.com/wp-config.php
というURLになります。
また、
サブディレクトリ(例えば、「blog」ディレクトリ)下にインストールしている場合には、
https://example.com/blog/wp-config.php
というURLになります。
そこで、このwp-config.phpは、一つ上の階層であれば、
移動させてOKな設計になっています。
特別な設定は不要で、単純に、ファイルを一つ上の階層に移動させるだけです。
簡単ですね!
※元の位置に保存されていたwp-config.phpは、忘れずに必ず削除して下さい。
インストールディレクトリの一つ上の階層にwp-config.phpがあれば、そちらの階層のファイルを読み込みます。
無ければ、インストールディレクトリにあるwp-config.phpを読み込んでくれます。
良くできた設計になっていますね!
と言いたいところですが、注意点や問題もあるので、それは、このあとで説明します。
サブディレクトリにインストールしている場合は、あまり意味が無い
wp-config.phpを移動させる場合にまず注意しないといけないのが、
移動させていいのは一つ上の階層までということです。
つまり、
WordPressをドキュメントルートにインストールしている場合であれば、
その一つ上の階層はWEBの公開領域ではないので、ブラウザからURLを叩かれることはありません。
が、サブディレクトリ下にインストールしている場合、
その一つ上の階層もWEBの公開領域です。
その為、移動させたとしても、
https://example.com/wp-config.php
というURLになり、
ブラウザ上からURLを叩かれてしまいます。
その為、サブディレクトリ下にインストールしている場合には、
移動させてもあまり意味はありません。
.htaccessを使って、wp-config.phpへのアクセス制限を掛けるなどして対策を取って下さい。
wp-config.phpを移動させる際の問題点
wp-config.phpを移動させる場合に問題なとなるが、
プラグインからの書き込みが行えないという点です。
少数ではありますが、
プラグインの中には、wp-config.phpに情報を書き込むようになっているものもあります。
有名なものだと「WP Super Cache」があります。
これらのプラグインは、wp-config.phpへの書き込みが行えなかったり、読み込めないと正常に動作しない可能性もあるので、随時チェックを行って下さい。
その他にも、wp-config.phpの場所を移動させることで予期しないエラーが出る可能性はあります。
その場合には、仕方ないので、wp-config.phpを元の場所に戻して下さい。
.htaccessでwp-config.phpへのアクセスを禁止する方法もあるので、そちらを試してみて下さい。
この記事へのコメントはありません。