WordPress が .htaccess ファイルを上書きしないようにする方法

公開: 2023-02-23

最近、私たちの読者の 1 人が、WordPress が .htaccess ファイルのカスタム コードを上書きするのを止めることができるかどうか尋ねました。

WordPress といくつかのプラグインは、カスタム設定を .htaccess 構成ファイルに追加します。 独自のカスタム コードを .htaccess に追加した場合、それが上書きされたり削除されたりするのではないかと心配になる場合があります。

この記事では、WordPress が .htaccess ファイルを上書きしないようにする方法を紹介します。

How to Stop WordPress From Overwriting .htaccess File

WordPress が .htaccess ファイルを上書きするのはなぜですか?

.htaccess ファイルは、WordPress Web サイトに関する重要な設定を保存する強力な構成ファイルです。 これには、ホスティング サーバーにサイトの処理方法を指示するルールが含まれています。

WordPress は .htaccess ファイルを使用してパーマリンク設定を保存します。 パーマリンクを変更または再生成するたびに、WordPress は .htaccess の古い設定を新しい設定で自動的に上書きします。

一部の WordPress プラグインは、設定を .htaccess に保存します。 たとえば、W3 Total Cache プラグインは、プラグインの一部であるキャッシュおよび最適化ツールを構成するために、.htaccess ファイルを変更します。

最後に、.htacess に独自のカスタム変更を加えて、Web サイトの動作を制御できます。 たとえば、カスタム ルールをファイルに追加して、管理領域を保護したり、サイトをハッカーから保護したり、リダイレクトを設定したり、疑わしい IP アドレスを禁止したりできます。

一部のユーザーは、独自のカスタム ルールを .htaccess に追加すると、WordPress がファイルを新しい設定で上書きするときに削除される可能性があることを懸念しています。 .htaccess を手動で設定し、WordPress にまったく書き込みさせないことを好むユーザーもいます。

そうは言っても、WordPress が .htaccess ファイルを上書きしないようにする方法を見てみましょう。 以下のクイック リンクを使用して、関心のあるセクションにジャンプしてください。

  • WordPress が .htaccess ルールを上書きしないようにする方法
  • WordPress が .htaccess を変更しないようにする方法

WordPress が .htaccess ルールを上書きしないようにする方法

幸いなことに、.htaccess ファイルがどのように機能するかを理解していれば、カスタム ルールが上書きされないことを確信できます。

これは、WordPress またはプラグインによって変更されるファイルの領域が明確にマークされているためです。 これらの領域にコードを追加しないようにしてください。

WordPress マーカー内のコードを変更しないでください

前述したように、WordPress は .htaccess を使用して、SEO に適した URL 構造の設定を保存します。 ファイルに保存されるコードは、パーマリンクの設定を変更するたびに自動的に上書きおよび更新されます。

下のスクリーンショットでわかるように、WordPress はこの情報を 2 つのマーカー# BEGIN WordPress# END WordPressの間に保存します。

WordPress Markers in .htaccess

これらのマーカー内の警告に注意してください。

「BEGIN WordPress」と「END WordPress」の間のディレクティブ (行) は動的に生成され、WordPress フィルターを介してのみ変更する必要があります。 これらのマーカー間のディレクティブへの変更は上書きされます。

これは、WordPress がこれらのマーカーの外側に追加したコードを上書きまたは変更しないことを意味します。 ユーザーは通常、ファイルの先頭、 # BEGIN WordPressの上にカスタム コードを追加します。

ヒント: .htaccess は、WordPress サイトのルート フォルダーにある隠しファイルです。 見つけるのが難しい場合は、WordPress サイトで .htaccess ファイルが見つからない理由についてのガイドをご覧ください。

プラグインのマーカー内のコードを変更しないでください

プラグインがその設定を .htaccess に保存すると、 # BEGIN Plugin# END Pluginのようなマーカーの間に配置されます。

たとえば、Web サイトの速度とパフォーマンスを向上させるために W3 Total Cache プラグインをインストールして設定すると、 # BEGIN W3TC Browser Cache# END W3TC Browser Cacheマーカーの間の .htaccess にルールが追加されます。

Example of Plugin Markers in .htaccess

これらのルールは、プラグインの設定を変更するたびに上書きされるため、これらのマーカーの間に独自のカスタム .htaccess ルールを追加しないように注意する必要があります。

カスタム コードのマーカーの作成

まれに、動作の悪いプラグインが# BEGINおよび# ENDマーカーの外側のコードを変更することがあります。 ただし、通常、WordPress や他のプラグインで使用されるマーカーの間にあるコードは変更されません。

動作の悪いプラグインがコードを上書きすることを懸念している場合は、独自のマーカーを .htaccess ファイルに追加できます。

たとえば、.htaccess ファイルの先頭に# BEGIN MyCustomCodeマーカーと# END MyCustomCodeマーカーを入力し、これらのマーカーの間に独自のカスタム ルールを追加できます。

You Can Create Your Own Markers in .htaccess for Your Custom Rules

.htaccess の末尾にもコードを追加する必要がある場合は、そこに別のマーカー セットを追加できます。 必ず別の名前を付けてください。 たとえば、'MyCustomCodeTop' と 'MyCustomCodeBottom' を使用できます。

WordPress が .htaccess を変更しないようにする方法

.htaccess の仕組みを理解したところで、次はカスタム コードが WordPress やプラグインによって上書きされないことを確信できます。

ただし、一部の開発者や上級ユーザーは、WordPress が .htaccess に変更を加えるのを止めたいと考えています。

たとえば、.htaccess に手動で設定を入力して、パーマリンクを作成したい場合があります。 この場合、WordPress が独自のパーマリンク設定をファイルに保存しないようにすることで、競合を回避したいと考えるでしょう。

予期しない結果につながる可能性があるため、自分が何をしているのかを理解していない限り、これはお勧めしません。 ただし、ファイルのアクセス許可を変更するか、コードを使用することで実行できます。

ファイルのアクセス許可を使用して WordPress が .htaccess を変更しないようにする

WordPress が .htaccess を変更しないようにする 1 つの方法は、ファイルを読み取り専用にすることです。 これを行うには、WordPress ホスティング プロバイダーが提供する FTP クライアントまたはファイル マネージャーを使用して、ファイルのアクセス許可を変更する必要があります。

.htaccess ファイルは、WordPress インストールのルート ディレクトリにあります。 次に、ファイルを右クリックして、[ファイルのアクセス許可] を選択する必要があります。

Selecting File Permissions From the Menu in Your FTP Client

これにより、ファイルの属性を変更できるポップアップが表示されます。

デフォルト設定は 644 ですが、「数値」フィールドに直接入力するか、「読み取り」ボックスのみがチェックされていることを確認して、これを 444 に変更できます。

Changing the .htaccess File Permissions to 444 or Read-Only

[OK] ボタンをクリックすると、ファイルは読み取り専用になり、変更できなくなります。

もちろん、これはファイルへの書き込みもできないことを意味します。 変更を加えたい場合は、ファイルのパーミッションを一時的に 644 に戻す必要があります。

コードを使用して WordPress が .htaccess を変更しないようにする

別の解決策は、WordPress に .htaccess ファイルへの書き込みを行わないように知らせるコード スニペットを使用することです。 これは、プラグインをブロックせずに WordPress が .htaccess を変更するのを止めたい場合に便利です。

注: WordPress のコア ファイルを編集すると危険な場合があります。 小さな間違いでも、サイトに重大なエラーが発生する可能性があります。 そのため、この方法は上級ユーザーにのみお勧めします。

wp-config.php ファイルの末尾に次のコード スニペットを追加するだけです。 サポートが必要な場合は、WordPress で wp-config.php ファイルを編集する方法に関するガイドを参照してください。

add_filter('got_rewrite', '__return_false');

これが完了すると、WordPress は .htaccess ファイルに書き込みを行いません。

WordPress が .htaccess を変更できない場合に表示されるエラー メッセージ

.htaccess が読み取り専用に設定されているときにパーマリンク設定を変更しようとすると、エラー メッセージが表示されます。

設定 » パーマリンクページの上部に、「今すぐ .htaccess ファイルを更新する必要があります。」というメッセージが表示されます。

Permalink Settings Error Message When .htaccess Cannot Be Accessed

これにより、WordPress が .htaccess ファイルを変更できなかったことがわかります。

通常、これは意図したとおりです。 ただし、WordPress のパーマリンク設定を .htaccess に追加したい場合は、手動で行う必要があります。

設定 ≫ パーマリンクページの下部に、.htaccess ファイルが書き込み可能でないことを示す別のエラー メッセージが表示されます。 その下に、.htaccess に追加する必要があるルールが表示されます。

List of Rules You Will Need to Add to .htaccess Manually if Needed

これらの設定を追加する場合は、編集できるように、.htaccess ファイルのアクセス許可を一時的に 644 に戻す必要があります。 その後、ファイルの WordPress の BEGIN マーカーと END マーカーの間にルールを貼り付けて、既存のコードを置き換えます。

終了したら、値を 444 に戻してファイルを保存します。 再び書き込み不可になります。

このチュートリアルが、WordPress が .htaccess ファイルを上書きしないようにする方法を学ぶのに役立つことを願っています. また、WordPress にプッシュ通知を追加する方法を学び、最高の WordPress SEO プラグインとツールの専門家リストを確認することもできます.

この記事が気に入ったら、WordPress ビデオチュートリアルの YouTube チャンネルに登録してください。 Twitter や Facebook で私たちを見つけることもできます。