Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPBカップ
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

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

最近、ある読者から、WordPressが.htaccessファイル内のカスタムコードを上書きするのを防ぐことは可能か、という質問を受けました。WordPressや様々なプラグインがこの設定ファイルに独自の設定を追加することがよくあるため、これは一般的な懸念事項です。

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

この投稿では、WordPressが.htaccessファイルを上書きしないようにする手順をご案内します。これらの手順に従うことで、カスタマイザーのコードを保護し、干渉されることなくサイトをスムーズに運営することができます。

How to Stop WordPress From Overwriting .htaccess File

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

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

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

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

最後に、.htacessにカスタマイザー独自の変更を加えることで、サイトの動作をコントロールすることができます。例えば、管理エリアの保護、ハッカーからのサイトの保護、リダイレクトの設定、不審なIPアドレスの禁止など、カスタムルールをファイルに追加することができます。

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

それでは、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 サイトのルートフォルダーにある非表示ファイルです。.htaccessが見つからない場合は、WordPressサイトの.htaccessファイルが見つからない理由をご覧ください。

プラグインのマーカー内のコードを修正しない

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

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

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つの方法は、ファイルを読み取り専用にすることです。これを行うには、FTPクライアントまたはWordPressホスティングサービスが提供するファイルマネージャを使用して、ファイルの権限を変更する必要があります。

.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が読み取り専用になっているときにパーマリンクの設定を変更しようとすると、エラーメッセージが表示されます。

設定 ” パーマリンクのページの一番上に、’You should update your .htaccess file now’というメッセージが表示されます。

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が.htaccessファイルを上書きしないようにする方法をご理解いただけたと思います。.htaccessファイルに関連する他のガイドもご覧ください:

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

情報開示 私たちのコンテンツは読者支援型です。これは、あなたが私たちのリンクの一部をクリックした場合、私たちはコミッションを得ることができることを意味します。 WPBeginnerの資金源 をご覧ください。3$編集プロセスをご覧ください。

アバター

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

究極のWordPressツールキット

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

Reader Interactions

2件のコメント返信を残す

  1. Jiří Vaněk

    This was one of the first articles on WPBeginner when I deliberately searched for why a customer’s .htaccess was being overwritten. Now we know it, understand it, and also write .htaccess correctly. Many thanks for understanding the reason.

    • WPBeginner Support

      Glad our guide could help!

      管理者

返信を残す

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