WordPress が .htaccess ファイルを上書きするのを停止する方法

最近、読者の一人から、WordPressがカスタムコードを.htaccessファイルで上書きするのを防ぐことができるかどうか尋ねられました。これは一般的な懸念事項です。なぜなら、WordPressやさまざまなプラグインがこの設定ファイルに独自の Сеттингを追加することがよくあるからです。

.htaccess にカスタムコードを追加した場合、それが上書きされたり削除されたりすることを心配するのは当然です。このコードを安全に保つことで、サイトのパフォーマンスとセキュリティの中断を防ぐことができます。

この記事では、WordPressが.htaccessファイルを上書きするのを停止する手順を説明します。これらの指示に従うことで、カスタムコードを保護し、ウェブサイトが干渉なしにスムーズに実行されることを保証できます。

WordPress が .htaccess ファイルを上書きするのを停止する方法

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

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

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

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

最後に、ウェブサイトの動作を制御するために、独自のカスタム変更を.htaccessに加えることができます。例えば、管理エリアを保護したり、サイトをハッカーから安全に保ったり、リダイレクトを設定したり、不審なIPアドレスをブロックしたりするなど、ファイルにカスタムルールを追加できます。

一部のユーザーは、.htaccess にカスタムルールを追加すると、WordPress が新しい設定でファイルを上書きしたときに削除されるのではないかと心配しています。他のユーザーは、.htaccess を手動で設定し、WordPress がそれに書き込まないようにすることを好みます。

それを踏まえた上で、WordPress が .htaccess ファイルを上書きしないようにする方法を見ていきましょう。興味のあるセクションにジャンプするには、以下のクイックリンクを使用してください。

  1. WordPressが.htaccessルールを上書きするのを停止する方法
  2. WordPressが.htaccessの変更を停止する方法
  3. WordPress の .htaccess に関するエキスパートガイド

WordPressが.htaccessルールを上書きするのを停止する方法

.htaccess ファイルの仕組みを理解していれば、カスタムルールが上書きされないと確信できるというのが良いニュースです。

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

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

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

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

.htaccess の WordPress マーカー

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

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

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

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

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

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

例えば、ウェブサイトの速度とパフォーマンスを向上させるためにW3 Total Cacheプラグインをインストールしてセットアップした場合、それは# BEGIN W3TC Browser Cache# END W3TC Browser Cacheマーカーの間に.htaccessにルールを追加します。

.htaccess内のプラグインマーカーの例

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

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

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

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

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

カスタムルール用に .htaccess に独自のマーカーを作成できます

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

WordPressが.htaccessの変更を停止する方法

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

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

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

予期せぬ結果につながる可能性があるため、ご自身で理解している場合を除き、この方法は推奨しません。ただし、ファイルの権限を変更したり、コードを使用したりすることで実行できます。

ファイル権限を使用してWordPressが.htaccessを変更するのを停止する

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

.htaccessファイルは、WordPressインストールのルートディレクトリにあります。次に、ファイルを右クリックして「ファイルパーミッション」を選択します。

FTP クライアントのメニューからファイルパーミッションを選択する

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

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

.htaccess ファイルのパーミッションを 444 または読み取り専用に変更する

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

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

コードを使用して WordPress が .htaccess を変更するのを停止する

もう1つの解決策は、WordPressに.htaccessファイルに書き込まないように指示するコードスニペットを使用することです。これは、プラグインをブロックせずにWordPressが.htaccessを変更するのを停止したい場合に役立ちます。

注意: WordPressのコアファイルを編集することは危険を伴います。わずかな間違いでも、サイトに重大なエラーを引き起こす可能性があります。そのため、この方法は上級ユーザーにのみ推奨されます。

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

add_filter('got_rewrite', '__return_false');

これが完了すると、WordPress は .htaccess ファイルに書き込まなくなります。

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

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

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

.htaccess にアクセスできない場合のパーマリンク設定エラーメッセージ

これは、WordPress が .htaccess ファイルを変更できなかったことを示しています。

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

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

必要に応じて .htaccess に手動で追加する必要があるルールのリスト

これらの設定を追加したい場合は、編集できるように.htaccessファイルのパーミッションを一時的に644に戻す必要があります。その後、WordPressのBEGINとENDマーカーの間にルールを貼り付け、既存のコードを置き換えます。

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

WordPress の .htaccess に関するエキスパートガイド

このチュートリアルで、WordPressが.htaccessファイルを上書きするのを停止する方法を学べたことを願っています。また、.htaccessファイルに関連する他のガイドも参照したいかもしれません。

この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterFacebookでもフォローできます。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

2 CommentsLeave a Reply

  1. これはWPBeginnerの最初の記事の1つで、顧客の.htaccessが上書きされている理由を意図的に検索したときに書かれました。今ではその理由を知り、理解し、.htaccessを正しく記述できるようになりました。理由を理解していただき、ありがとうございます。

コメントを残す

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。