WordPress が .htaccess ファイルを上書きしないようにするにはどうすればよいですか?

公開: 2024-08-28

これは、多くの WordPress ユーザーが経験した一般的な問題です。WordPress が、単独で、またはプラグインを通じて、カスタム .htaccess ファイルを意図せず上書きまたは編集してしまいます。

これは通常、何か問題が発生し始めるか、望ましくない変更が有効になるまで、気づかれずに発生し、サイトのコンテンツに直ちに影響を与えることはありません。

デフォルトでは、WordPress は構成と権限の設定に応じて、.htaccess ファイルをサイレントに自動的に編集または上書きできます。 WordPress プラグインでも、構成に合わせて .htaccess ファイルを変更する傾向があります。

これは通常は無害ですが、サードパーティのプラグインやテーマが Web サイトのコア設定をオーバーライドするコードを追加すると、問題が発生し、セキュリティ リスクやパフォーマンスの問題が発生する可能性があります。

このような状況を防ぐために、.htaccess ファイルの上書きを停止する方法を説明します。それで、さらに遅らせることなく、飛び込んでみましょう。


目次
.htaccess ファイルはどのように機能するのでしょうか?また、なぜ Wpoven は .htaccess ファイルの内容を上書きするのでしょうか?
WordPress が .htacess ファイルのルールを上書きしないようにするにはどうすればよいですか?
結論
よくある質問

.htaccess ファイルはどのように機能するのでしょうか?また、なぜ Wpoven は .htaccess ファイルの内容を上書きするのでしょうか?

WordPress やプラグインによる .htaccess ファイルの上書きを防ぐ最善の方法は、まず .htaccess ファイルの仕組みを学ぶことです。これは、問題の根本原因を特定し、何をすべきではないかを理解するのに役立ちます。

したがって、.htaccess ファイルは、Web サイトがどのように動作すべきかについての一連の手順が記載されたルールブックのようなものです。

その主な目的は、コンテンツの表示方法と特定のプラグインの動作を管理することです。たとえば、.htaccess ファイルから、URL を SEO に適したクリーンなものにする 301 リダイレクト ルールを設定することもできます。

ただし、あなたまたは他の誰かが URL 構造の変更など、Web サイトを更新しようとすると、WordPress はそれらの変更を反映するために .htaccess ファイルも自動的に更新します。

同様に、サイトに追加機能を追加するために使用する WordPress プラグインをインストールするときに、独自のルール/命令をファイルに追加することもできます。

しかし、これが問題ではありません。厄介な点は、これらの変更が発生すると、入力した元の命令が上書きされたり、置き換えられたり、消去されたりする可能性があることです。

これにより、意図していなかったとしても、Web サイトの動作や外観が台無しになる可能性があります。したがって、そのようなシナリオを停止または防止するには、以下に説明するいくつかのヒント/指示に従う必要があります。


WordPress が .htacess ファイルのルールを上書きしないようにするにはどうすればよいですか?

.htaccessファイルには、Web サイトの動作に基づいたルールや手順が含まれているため、上記のシナリオで上書きされないように、カスタム ルールのセットを追加することもできます。

その方法は次のとおりです。

  • WordPress マーカーまたはタグ間にルールを追加または編集しないでください。
  • プラグインマーカーまたはタグ間のルールの追加または編集を避けてください。
  • WordPress が .htaccess ファイルを上書きしないようにファイル権限を設定します。
  • wp-config.php ファイルにコードを挿入して、WordPress が .htacess を上書きしないようにします

1. WordPress マーカーまたはタグ間にルールを追加または編集しないでください。

すでに述べたように、WordPress は .htaccess ファイルを使用して、構造化されたクリーンな SEO フレンドリーな URL の作成など、特定の WordPress 設定を管理します。

「パーマリンク」とも呼ばれる URL 構造を変更すると、WordPress はこのファイル内のコードも自動的に更新します。

これらのパーマリンク設定は、2 つの WordPress タグまたはマーカー: # BEGIN WordPress# END WordPressの間に保存されます。

Avoid adding or editing rules between the WordPress markers or Tags
WordPress マーカーまたはタグ間にルールを追加または編集しないでください。

これら 2 つの WordPress タグ間のこの特定の領域は、WordPress 用に完全に予約されており、これらのマーカー間に加えた変更は、次回 WordPress がファイルを更新するときに上書きされることも警告されます。

Dos : しかし、最も良い点は、これらのマーカーやタグの外に追加されたコードには WordPress が影響しないことです。つまり、カスタム コードを追加する場合は、ファイルの先頭、 # BEGIN WordPressマーカーの前にコードを挿入または追加してください。

禁止:ただし、WordPress マーカーの間にカスタム コードを挿入または追加することは避けてください。カスタム コードは、WordPress が設定を更新するたびに削除または置換されるためです。カスタム設定を安全に保つために、常にこれらのマーカーの外側に配置してください。


WPOven

2. プラグインマーカーまたはタグ間のルールの追加または編集を避けてください。

WordPress マーカーと同様に、プラグイン マーカーまたはタグ間のルールの編集や追加も避ける必要があります。

これは、プラグインも WordPress と同様に独自のルールを.htaccessファイルに追加することができ、追加する場合、プラグインの名前を含む特別なマーカーまたはタグを使用して領域を予約するためです。

たとえば、「WProcket」というプラグインがルールを追加すると、ルールに# BEGIN WP Rocke Browser Cache と# END WP Rocket Browser Cache のマークが付けられます。

Avoid adding or editing rules between the Plugin markers or Tags
プラグインマーカーまたはタグ間のルールの追加または編集を避けてください。

つまり、プラグインがこれら 2 つのマーカー間に追加する命令やルールは、プラグインのみによって完全に制御されます。プラグインの設定を変更すると、これらのルールが更新され、これらのマーカーまたはタグの間にあるものが上書きされる可能性があります。

したがって、失いたくないカスタム ルールがある場合は、これらのプラグイン固有のマーカーの間に配置しないでください。

カスタム マーカーまたはタグを使用してカスタム ルールを追加する

代わりに、マーカーまたはタグを作成して独自のカスタム ルールを追加し、WordPress やプラグインによって生成されたセクションから分離しておくこともできます。

この方法では、WordPress 管理またはプラグイン設定に加えられた編集や変更によってこのセクションが上書きされないことが保証されます。

その方法は次のとおりです。

yourdomain.comからのリクエストをhttps://www.yourdomain.comにリダイレクトして、訪問者が常に URL に「www」を含むバージョンのサイトにアクセスできるようにする必要があるとします。

このカスタム ルールを実装するには、 .htaccessファイルの先頭にあるタグ# BEGIN Custom Rules # END Custom Rulesを使用します。次に、これらのマーカー内に指示またはカスタム ルールを追加します。

それは次のようになります。

# BEGIN Custom Rules

RewriteEngine On

RewriteCond %{HTTP_HOST} ^yourdomain\.com$

RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R=301,L]

# END Custom Rules


読む: WordPress .htaccess ファイル: 作成および編集する方法?


3. WordPress が .htaccess ファイルを上書きしないようにファイル権限を設定します。

WordPress による.htaccessファイルの上書きを防ぐ 3 番目の方法は、ファイルのアクセス許可を「読み取り専用」に設定することです。

これを実装するには、FTP クライアントまたは WordPress ホスティング プロバイダーが提供するファイル マネージャーを使用して.htaccessファイルにアクセスする必要があります。

FTP クライアントまたはファイル マネージャーにログインしたら、 .htaccessファイルを探します。このファイルはおそらく WordPress インストールのルート ディレクトリにあります。

次に、ファイルを右クリックして「ファイルのアクセス許可」を選択します。

Set file permission to avoid WordPress from overwriting .htaccess file
WordPress が .htaccess ファイルを上書きしないようにファイル権限を設定します。

すべてのファイル属性を示すポップアップ ウィンドウが表示されます。通常、デフォルト設定は 644 ですが、「数値」フィールドに値を直接入力するか、「読み取り」フィールドのみを確​​実に入力することで、これを 444 に変更できます。ボックスがチェックされます。

Set file attributes in the .htaccess file to read-only.
.htaccess ファイルのファイル属性を読み取り専用に設定します。

.htaccessファイルのアクセス許可を 444 (読み取り専用) に設定すると、ファイルは変更されないように保護されます。

注:これにより、ファイルに変更を加えることもできなくなることに常に注意してください。ファイルを更新する必要がある場合は、アクセス許可を一時的に 644 に戻す必要があります。


4. wp-config.php ファイルにコードを挿入して、WordPress による .htacess の上書きを停止します。

実装できる最後の方法は、次のコード スニペットを wp-config.php ファイルに挿入することです。

add_filter('got_rewrite', '__return_false');

このアプローチは、プラグインに影響を与えずに WordPress が.htaccessファイルを変更するのを防ぎたい場合に便利です。

注:コア WordPress ファイルの編集または処理には危険が伴う可能性があり、問題が発生した場合には Web サイトに損害を与える可能性があります。専門家に支援を求めるか、Web 開発者に連絡することをお勧めします。

さて、これを実装するには、

1. 資格情報を使用して cPanel または FTP にログインします。

2. Web サイトのルート ディレクトリに移動し、 wp-config.phpファイルを見つけます。

3. wp-config.phpファイルを開いて編集します。

Opening Wp-config.php file
Wp-config.php ファイルを開く

4. 図に示すように、次の行をファイルに手動で追加します。

add_filter('got_rewrite', '__return_false');

Inserting code in the Wp-config.php file to stop WordPress from overwriting the .htaccess file
Wp-config.php ファイルにコードを挿入して、WordPress による .htaccess ファイルの上書きを停止する

5. コードを追加したら、ファイルを保存します。

6. 保存すると、WordPress は URL 形式やその他の関連設定の変更を含め、ファイルにいかなる変更も加えることができなくなります。

この方法に従うと、WordPress は .htaccess ファイルを変更したり上書きしたりできなくなります。


WPOven Dedicated Hosting

結論

予防は治療よりも優れていると常に言われています。同様に、WordPress マーカーまたはタグ間、および WordPress プラグイン マーカーとタグ間でのルールの追加または編集を避けるなどの予防策を講じることができます。

さらに、いくつかのルールを設定し、読み取り専用メソッドを使用して、 .htaccessファイルへの変更を完全に禁止することができます。

上記の方法が、WordPress による.htaccessファイルの上書きを阻止するのに役立つことを願っています。この投稿に関してご質問がございましたら、以下のコメント欄にご記入ください。


よくある質問

カスタマイズした .htaccess ルールは WordPress アップグレード プロセスの影響を受けますか?

いいえ、カスタマイズされた.htaccessルールは、 # BEGIN WordPressおよび# END WordPressマーカーの外側に配置されている場合、WordPress のアップグレードの影響を受けません。 WordPress はこれらのマーカー間のコードのみを変更します。

カスタム .htaccess の一部を使用することに何かデメリットはありますか?

はい、カスタム.htaccessルールは複雑さをもたらし、競合やエラーが発生する可能性があります。ルールを適切に構成しないと、サイトのパフォーマンスに影響を与えたり、サーバーの問題が発生したりする可能性があります。さらに、サーバー構成、プラグイン、または WordPress 自体が変更された場合、これらのルールの更新が必要になる場合があります。また、ルールを注意深く管理しないと、誤ったルールによって誤って脆弱性が生じる可能性があるため、セキュリティ上のリスクもあります。

プラグインを更新するときに、個人用の .htaccess ルールが失われないようにするにはどうすればよいですか?

プラグインを更新するときにカスタム.htaccessルールを安全に保つために、WordPress とプラグインが使用する# BEGINおよび# ENDマーカーの外側にルールを配置してください。独自のマーカーを作成してルールを分離することもできます。必要に応じて簡単に復元できるように、 .htaccessファイルを定期的にバックアップしてください。プラグインを更新した後、 .htaccessファイルをチェックして、カスタム ルールがまだ存在し、失われていないことを確認します。