WordPress .htaccess ファイルの究極のガイド
公開: 2022-08-10私のデフォルトのコードは中国語のように見えます。
名前に拡張子がないので、私は特異な外観のために目立ちます。
私も魔法の力を持っています。 あなたが私を正しく設定すれば、私は次のことができます:
- ウェブサイトのセキュリティを向上させます。
- ページの読み込み速度を向上させます。
- リダイレクトの設定。
- スパムの制限。
- そして、いくつかの冗談を言うことさえ: それは私の生意気な面です.
あなたはまだ私が誰であるかを知りませんか? 私はあなたの WordPress ウェブサイトの.htaccess
ファイルです。 私がどのように働いているかについてのこのガイドで、私をもっとよく知りましょう。
これらの行全体で、 me を構成するための 30 以上のガイドラインを見つけることができます。 それらは、すぐに使用できるコードの形で具体化されており、自宅でコピーして貼り付けるだけです。
読み続けてください。がっかりすることはありません。
概要
- .htaccess ファイルとは何ですか?
- .htaccess ファイルはどのように機能しますか?
- .htaccess ファイルの作成方法
- .htaccess ファイルをカスタマイズする前の予防措置
- .htaccess ファイルを適切に変更する方法。
- Web サイトのルートにある .htaccess ファイルをカスタマイズする方法は?
- wp-admin で .htaccess ファイルをカスタマイズする方法
- wp-includes で .htaccess ファイルをカスタマイズするには?
- wp-content で .htaccess ファイルをカスタマイズするには?
- wp-content/uploads の .htaccess ファイルをカスタマイズするには?
- WordPress の .htacess ファイルの最終まとめ
2015 年 10 月に最初に書かれたこの記事は、2022 年 7 月に最終更新されました。
.htaccess ファイルとは何ですか?
.htaccess
ファイルは、ほとんどの Web サーバーが実行に使用するソフトウェアである Apache の構成ファイルです。 このファイルの内容は、サーバーが特定の方法で動作するように Apache に指示を与えます。
一部の Web ホストは NGINX サーバーでのみ実行されることに注意してください。 これは、たとえばフライホイールの場合です。 .htaccess
ファイルはありません。
WordPress を使用するほとんどすべての Web サイトには
.htaccess
ファイルがあります。 実際、WordPress はインストール時に自動的に作成し、Web サイトのパーマリンク設定を含めます。
[設定] > [パーマリンク]に移動して URL 形式 (通常は「投稿名」) を選択すると、 .htaccess
ファイルが変更されます。
.htaccess ファイルはどのように機能しますか?
Web サイトには複数の.htaccess
ファイルを含めることができることを知っておく必要があります。
まず、Web サイトのルートにあるメインの.htaccess
ファイルがあります。
ウェブサイトのルートは、WordPress ファイル ( wp-admin
、 wp-includes
、およびwp-content
フォルダーとその他のファイル) がサーバー上にある場所です。 たとえば、FTP クライアントに接続することでアクセスできます。 このルート フォルダーの名前は、ホスティング プロバイダーによって異なる場合があります。 たとえば、Bluehost (アフィリエイト リンク) ではpublic_html
と呼ばれ、OVH ではwww
と呼ばれます。
メインの
.htaccess
ファイルの内容は、Web サイト全体に影響します。
他の.htaccess
ファイルはサブディレクトリに作成できます。 WordPress の場合、たとえばwp-admin
またはwp-content/uploads
ディレクトリに配置できます。
セカンダリ.htaccess
ファイルは、それらが配置されているディレクトリとそのサブディレクトリに影響を与えます。
.htaccess
ファイルがwp-content/uploads
にあると仮定すると、 uploads
ディレクトリとそのすべてのサブディレクトリは、 .htaccess
ファイルで定義されている内容の影響を受けます。
.htaccess ファイルの作成方法
論理的には、Web サイトには少なくとも 1 つの.htaccess
ファイル (Web サイトのルートにあるファイル) が必要です。 お気に入りのコード エディター (Sublime Text、Brackets、Notepad++、Coda など) を使用して編集できます。
Htaccess File Editor プラグインなど、WordPress ダッシュボードから直接編集するためのソリューションは他にもあります。
ただし、何か問題がある場合は、FTP クライアントとコード エディターを使用する必要があるため、手動で直接行うこともできます。
.htaccess
ファイルをサブディレクトリに追加する必要がある場合は、次の手順に従ってください。
コンピューターから .htaccess ファイルを作成します
- 新しいテキスト ファイルを作成し、
htaccess.txt
という名前を付けます。 - 必要に応じて編集します。
- サーバーのルートに送信します。
- 名前を
.htaccess
に変更します。
サーバーから .htaccess ファイルを作成します
- あるべきディレクトリを右クリックします。
- 新しいファイルを追加して、
.htaccess.
- コード エディター (Notepad++、Coda、Sublime Text など) で編集します。
おめでとうございます。これで、 .htaccess
ファイルの目的と作成方法がわかりました。 追加できるガイドラインを確認する前に、注意してください。
.htaccess ファイルをカスタマイズする前の予防措置
.htaccess
ファイルのコードをカスタマイズするのはかなり簡単ですが (特に、この記事の残りの部分で紹介するコード スニペットを使用する場合は)、銃を突きつけてそれに取り組むべきではありません。
変更を加える前に、まず WordPress Web サイトのバックアップを作成することをお勧めします。 これには、UpdraftPlus などの専用プラグインを使用できます。
次に、 .htaccess
ファイルの最初の内容を保存します。 これを行うには、次のことができます。
- サーバー上の
.htaccess
ファイルを.htaccess-initial
ファイルに複製します。 - ファイルの内容をコンピューター上のテキスト ファイルにコピーします。
問題が発生した場合は、元のコンテンツを簡単に復元できます。
.htaccess ファイルを適切に変更する方法。
変更を行うには、次の手順に従います。
- コード エディターでファイルを開きます。
- 追加内容をファイルに配置します。
- それを保存。
- Web サイトを更新して、問題がないかどうかを確認します。
Web サイトを更新することは非常に重要です。追加したコードに問題がないかどうかを確認するのに役立ちます。
一般に、問題がある場合、500 エラー「Internal Server Error」が画面に表示されます。
この場合、変更を元に戻し、再度保存してください。 すべてが正常に戻るはずです。
一部のホストは、 .htaccess
ファイル内の特定のコードを受け入れないことがあります…
あなたはそれに対処する必要があります。
詳細については、ホストのカスタマー サービスにお問い合わせください。 うまくいけば、それを機能させるためにわずかな変更が必要になるだけです。
よくある 500 エラーなどの WordPress エラーが発生していますか? WPMarmite は、主要な問題を解決するための包括的なガイドを提供しています。
今回は、それはすべて良いです。 .htaccess
ファイルがどのように機能するか、適切に作成および編集する方法を知っています。
5つの異なる場所でカスタマイズする方法を見つけてください:
- ウェブサイトのルート
wp-admin
-
wp-includes
-
wp-content
-
wp-content/uploads
すぐに、Web サイトのルートから始めましょう。 ご覧のとおり、これが最も一貫した作品になります。
すべてのコンピューター言語と同様に、 .htaccess
ファイルにはコメントを含めることができます。 これを行うには、行の先頭に#
記号を配置して、その行が無視されるようにします。 これは、コードのどの行が実行されるかを覚えておくのに非常に便利です。 この記事の例でコメントを見ることができます。
Web サイトのルートにある .htaccess ファイルをカスタマイズする方法は?
インストールがうまくいけば、ウェブサイトのルートに.htaccess
ファイルが見つかります。 次のコードが含まれます。
WordPress をマルチサイト モードで使用している場合、 .htaccess
ファイルのデフォルト コードは異なります。 ほとんどの場合、これは影響しません。
このファイルを見つけたので、以下のコード スニペットを使用してその内容を拡張し、いくつかの特定のことを実行できます。 これはセキュリティに関するものですが、その他のことも含まれます。
コメント# BEGIN WordPress
と# END WordPress
の間にコードを含めないでください。このコードは場合によっては変更される可能性があります。
もう 1 つの注意事項: 変更を加える前に、元の.htaccess
ファイルを保存してください。 問題が発生した場合は、戻ることができる必要があります。
表示ディレクトリを無効にする
デフォルトでは、Web サイトのディレクトリにアクセスしようとすると、サーバーはディレクトリを表示します。 フォーマットは次のようになります。
これはハッカーにとってパンとバターであると想像できます。 彼らがあなたのウェブサイト上のファイルを見ることができるという事実は、彼らがそれをより良く攻撃できるようにするのに役立ちます. 次のコードを.htaccess
ファイルに挿入して、Web サイトを保護します。
次のコードを使用して、ディレクトリのリストを防止することもできます。
サーバー情報を隠す
一部のホスティング プロバイダーでは、表示されるページにサーバー情報が含まれている場合があります。 この情報は、潜在的な攻撃者に詳細を提供する可能性があります。
したがって、次のコードでそれらを非表示にすることをお勧めします。
次のシンボリック リンクを有効にする
私はまったく意味不明なことを言っているに違いありませんが、次のコード行をメインの.htaccess
ファイルに挿入することが重要です。
これにより、サーバーはいわゆるシンボリック リンク、つまりショートコードをたどることができます。
サーバーを正しい時刻に設定する
これはそれほど重要ではありませんが、サーバーが海外にある場合は、次のコード行でタイム ゾーンを設定するようサーバーに指示できます。
デフォルトの文字エンコーディングを設定する
次のコードを使用すると、テキスト ファイルと HTML ファイルの文字エンコーディングをUTF-8
(コンピューターの文字エンコーディング) に設定できます。 これがないと、アクセントが誤解されるリスクがあります。
wp-config.php を保護する
Web サイトの構成ファイル ( wp-config.php
) には、データベースに接続するための資格情報が含まれています。
これは、Web サイトで最も機密性の高いファイルです。 潜在的なハッカーの標的になる可能性があります。 このコードをメインの.htaccess
ファイルに追加することで保護できます。
.htaccess ファイル自体を保護する
wp-config.php
ファイルと同様に、 .htaccess
ファイルは最大限保護する必要があります。 これを行うには、次のコードを挿入します。
コメントスパムを制限する
あなたがブログを持っているなら、私と同じようにそれを知っています。コメントスパムは本当に苦痛です.
ありがたいことに、これを直接.htaccess
ファイルに防止するトリックがあります。 これは簡単な修正ではありませんが、Akismet プラグインと組み合わせることで、スパムの大部分をフィルタリングする必要があります。
mywebsite.com
をドメイン名に置き換えることを忘れないでください。
著者の ID の検出を回避する
複雑なユーザー ログインを使用している場合でも、検出できます。
もちろん、あなたのテーマでまだ公に表示されていないと仮定しています (表示される可能性があります)。
mywebsite.com/?author=x
と入力して、x を 1 に置き換えて、管理者または作成者の ID を入力してください。 保護されていない場合は、 mywebsite.com/author/author_id
のようなページにリダイレクトされます。
これが、ユーザー ID を 2 秒で見つける方法です。 あとは、パスワードを推測するだけです。
この手法から身を守るには、次のコードを使用します。
画像のホットリンクを無効にする
ホットリンクとは一体何ですか? 心配しないで、すべて説明します。
基本的に、Web サイト (記事など) に画像を追加すると、誰でも画像の 1 つの URL をコピーして、自分の Web サイトに表示できます。
これはそれほど悪くないと思うかもしれませんが、何らかの理由で非常にフォローされている Web サイトがあなたの画像を取得し、そのページの 1 つに表示すると、サーバーにリクエストが送信されます。
ホットリンクは、実際には帯域幅を盗んでいます。 あなたのウェブサイトが小さな共有サーバーにインストールされている場合、リソースが限られているため、ホストはそれを気に入らないかもしれません。
この問題を回避するには、次のコードを.htaccess
ファイルに挿入してカスタマイズします。
特定の Web サイトで画像を表示できるようにするには、次のコードを使用します。
要求された画像の代わりに表示される画像をカスタマイズすることもできます。 簡単なものを追加しましたが、もっとクリエイティブにできます。
IP アドレスの禁止
一部の IP アドレスが Web サイトの管理に頻繁にログインしようとしていることに気付いた場合 (たとえば、Login Lockdown プラグインを使用)、それらの IP アドレスを禁止することでそれらを取り除くことができます。
また、コメント スパマーの IP アドレスを取得して、Web サイトからそれらを禁止することもできます。
攻撃者が IP アドレスを変更する可能性があるため、この解決策は永続的ではありませんが、スキルの低い個人に対しては機能する可能性があります。
特定の Web サイトからの訪問者をブロックする
準拠していない Web サイトが自分の Web サイトにリンクしていることに気付き、その Web サイトからの訪問者が自分の Web サイトにアクセスできないようにする場合は、次のコードを使用します。
訪問者をある Web サイトから別の Web サイトにリダイレクトする
前のヒントをさらに一歩進めて、訪問者を特定の Web サイトから別の Web サイトにリダイレクトできます。
使用するコードは次のとおりです。
リダイレクトを作成する
.htaccess
ファイルを使用すると、リダイレクト (URL A を URL B にリダイレクト) を実行できます。
いくつかのページをリダイレクトする場合には便利ですが、大量のリダイレクトを作成したい場合は、この記事で紹介した WordPress Redirection プラグインをお勧めします。
.htaccess
ファイルでリダイレクトを作成する方法:
wwwなしのアドレスをwwwありのアドレスにリダイレクト
Web サイトをセットアップするとき、最初に実行するアクションの 1 つは、www のない Web サイトをwww
のあるバージョンにリダイレクトすることwww
(またはその逆)。
次回 Web サイトを作成するときにテストを行うと、2 つのアドレスが必ずしも Web サイトにリンクしているとは限らないことがわかります。
場合によっては、ホスティング会社がこれを自動的に処理するか、ホスティング Web サイトの管理ページから有効にする必要があります (たとえば、Gandi の場合)。
このリダイレクトを手動で行う必要がある場合は、 mywebsite.com
を自分の Web サイトに置き換えて、次のコードを使用します。
www のあるアドレスを www のないアドレスにリダイレクトする
一方、(WPMarmite のように) Web サイト名の前にwww
を付けたくない場合は、 www
なしのバージョンにリダイレクトすることができます。
次のコードを.htaccess
ファイルに挿入します。
警告: このコードを以前のコードと一緒に使用しないでください。そうしないと、Web サイトでリダイレクト ループが発生します ( www
のないバージョンは、 www
www
ないバージョンにリダイレクトされるなど)。
HTTPS にリダイレクト
Web サイトに SSL 証明書を設定して HTTPS に切り替えた場合、すべての訪問者が安全なバージョンの Web サイトを閲覧していることを確認する必要があります。
そうしないと、機密情報 (個人データや銀行データなど) がハッカーによって復元される可能性があります。
次のコードを使用して、Web サイト全体を HTTPS に切り替えます。
特定のファイルの強制ダウンロード
Web サイトからファイルをダウンロードする場合、ブラウザがファイルを開いて表示しようとすることがあります。
個人的には、これは PDF ファイルに便利だと思います。 一方、他のタイプのファイルには非常に不快です。
次のコードを挿入して、訪問者がこれらの拡張子を持つファイルを直接ダウンロードできるようにします (必要に応じて変更してください)。
カスタム メンテナンス ページを作成する
前回の記事で、メンテナンス プラグインの選択を発見しました。 ただし、メンテナンスページが表示されない場合があります。
面倒ですね。
メンテナンス ページを取得するには、次のコードを使用できます。
これが機能するには、次のことが必要です。
- Web サイトがメンテナンス中であることを示すコンテンツを含む
maintenance.html
ファイルを作成します。 - Web サイトにアクセスできるように、4 行目に IP アドレスを追加します (必ず「
\
」を残してください) (この Web サイトで IP アドレスを確認してください)。
メンテナンスが完了したら、各行の先頭に「 #
」を付けてコメントとして渡します。
キャッシュを有効にする
.htaccess
ファイルを使用すると、Web サイト上の特定のファイルを訪問者のブラウザーにキャッシュして、読み込みを高速化できます。
実際、ブラウザはキャッシュ内のファイルを再ダウンロードする必要はありません。
これを行うには、次のコードを挿入します。
ファイルのキャッシュは、ファイルの種類ごとに指定された期間、または訪問者がキャッシュをクリアするまで有効です。
キャッシュでウェブサイトを高速化するには、プレミアム WP Rocket プラグイン (アフィリエイト リンク) を使用することをお勧めします。 シンプルですぐに設定できるので、WordPress の初心者に最適です。 その助けを借りて、上記のスニペット (コードの一部) を使用する必要はありません。
圧縮を有効にする
これまで見てきたすべてのものに加えて、サーバーからブラウザーに転送される前に一部のリソースを圧縮することができます。
また、ファイル圧縮により、ページの読み込み速度が速くなります。 したがって、このコードを実装して、Web サイトの速度を向上させることをお勧めします。
特定のスクリプトへのアクセスを無効にする
機能するために、WordPress はwp-includes
ディレクトリにあるスクリプトを使用します。 ただし、それらに直接アクセスする理由はありません。 アクセスを制限するには、次のコードを使用します。
ファイル インジェクションに対する保護
ハッカーは、ファイルをサーバーに送信して Web サイトを制御しようとする可能性があります。 パスにレンチを投げるには、次のコードを.htaccess
ファイルに含めることができます。
その他の脅威に対する保護
Facebook で、Richard は、 .htaccess
ファイルに数行を追加することで、クリックジャッキングやその他の脅威から保護できると私に言いました。
参考までに、クリックジャッキングは、 frame
またはiframe
タグを使用して、訪問者があなたの Web サイトにいないのに、あなたの Web サイトにいると信じ込ませるのに役立つ手法です。
したがって、次のコードは、クリックジャッキングから保護し、MIME スニッフィングなどの他の脅威に対抗し、XSS 攻撃 (保護が不十分な変数に HTML または JavaScript を挿入する) の場合にコンテンツをブロックするのに役立ちます。
それだけです。ウェブサイトのルートにある.htaccess
ファイルに組み込むために、一連の最適化を行ったところです。
先に進みましょう: wp-admin
、 wp-icludes
、 wp-content
、およびwp-content/uploads
フォルダーの新しいコード。
wp-admin で .htaccess ファイルをカスタマイズする方法
wp-admin
はあなたのウェブサイトの隠れ家です。 記事を書いたり、メニューを構成したり、テーマを設定したりする場所です。
言うまでもなく、権限のない人がこの避難所に入ってはなりません。 それ以外の場合は、結果に注意してください。
Web サイトのwp-admin
フォルダーに配置する.htaccess
ファイルを使用してセキュリティを強化するためにできることは次のとおりです。
Web サイト管理へのアクセスを制限する
リストされた IP を持つユーザーのみがwp-admin
フォルダーにアクセスできます。 見知らぬ人があなたのウェブサイトにログインするのを防ぐのに非常に便利です (たとえ彼らが正しいパスワードを持っていたとしても)。
2 番目の認証を追加する
WordPress Web サイトの管理者にログインするときは、ログインとパスワードを使用します。 そうですね、 .htaccess
ファイルと別のファイルを介して 2 番目のものを追加することは可能です。
まず、 wp-admin
ディレクトリに.htpasswd
という名前のファイルを作成し、そこにユーザー名とパスワードのペアを挿入します。 次の Web サイトを参考にしてください。
最初のフィールドに使用するユーザー名を入力し、2 番目のフィールドにパスワードを入力して、[. .htpasswd
ファイルを生成] をクリックします。
次に、 .htpasswd
ファイルに表示される行をコピーします。 複数のユーザーを作成する必要がある場合は、プロセスを繰り返して、新しいユーザー名とパスワードのペアを新しい行に追加します。
たとえば、次の種類のファイルを取得できます。
次に、次のコードを.htaccess
ファイルに挿入します。
この操作の難しい部分は、 .htpasswd
ファイルへのフル パスを正しく取得することです。 確実に見つけるには、 info.php
ファイルを作成し、次のコードを挿入します。
yourwebsite.com/wp-admin/info.php
にアクセスすると、 .htaccess
ファイルに配置される.htpasswd
ファイルの実際のパスを取得できます。 正しいパスを取得したら、 info.php
ファイルを削除します。
このコードをそのまま挿入すると、AJAX リクエストが機能しなくなります。 以下のスニペットを使用して問題を解決します。
私が今述べたことをすべて理解していれば、WordPress 管理にアクセスするための二重認証が必要です。
次の部分に移りましょう。
wp-includes で .htaccess ファイルをカスタマイズするには?
PHP ファイルへの直接アクセスをブロックする
wp-includes
で.htaccess
ファイルを作成し、次のコードを貼り付けて、PHP ファイルが直接読み込まれないようにします。
上記のコードは、Sucuri プラグインによって提供されます。
wp-content で .htaccess ファイルをカスタマイズするには?
PHP ファイルへの直接アクセスをブロックする
wp-content
フォルダーのコードは似ていますが、例外が削除されているだけです。
wp-content/uploads の .htaccess ファイルをカスタマイズするには?
PHP ファイルへの直接アクセスをブロックする
この同じコードを使用して、メディアが保存されているフォルダーを保護し、PHP ファイルが外部の誰か (たとえば、厄介なハッカー) によって実行されるのを防ぎます。
WordPress の .htacess ファイルの最終まとめ
このガイド全体でわかっているように、 .htaccess
ファイルは Web サイトのサーバーを構成するための非常に強力なツールです。
注意して取り扱うことで、Web サイトのセキュリティ、パフォーマンス、SEO、さらにはユーザー エクスペリエンスを向上させることができます。
#WordPress サイトの #htaccess ファイルは強力なツールです。 それがどのように機能するかを調べ、WPMarmite のヒントを使ってシェフのように設定してください。
繰り返しになりますが、問題が発生した場合に備えて、元の.htaccess
ファイルのバックアップを常に保持し、リセットを実行することをお勧めします。
細心の注意を払って変更を進めてください (警告しました!)。 Web サイトのホストによっては、エラーまたは非互換性が発生する場合があります。
この記事ではかなりのことがカバーされていますが、さまざまなリソースを使用して.htaccess
の設定をさらに進めることができます。
- WordPress のドキュメントと Apache のドキュメント (サーバーを実行するソフトウェア)。
- Perishable Press のブログには、この件に関する有料の本さえあります。
さよならを言う前に、コメントであなたの意見を聞きたいです。 .htaccess
ファイルをカスタマイズしましたか?
そして最も重要なことは、使い慣れたコード スニペットを他の読者と自由に共有できることです。