WordPress .htaccess ファイルの究極のガイド

公開: 2022-08-10

私のデフォルトのコードは中国語のように見えます。

名前に拡張子がないので、私は特異な外観のために目立ちます。

私も魔法の力を持っています。 あなたが私を正しく設定すれば、私は次のことができます:

  • ウェブサイトのセキュリティを向上させます。
  • ページの読み込み速度を向上させます。
  • リダイレクトの設定。
  • スパムの制限。
  • そして、いくつかの冗談を言うことさえ: それは私の生意気な面です.
本当?!
冗談? 本当に?

あなたはまだ私が誰であるかを知りませんか? 私はあなたの WordPress ウェブサイトの.htaccessファイルです。 私がどのように働いているかについてのこのガイドで、私をもっとよく知りましょう。

これらの行全体で、 me を構成するための 30 以上のガイドラインを見つけることができます。 それらは、すぐに使用できるコードの形で具体化されており、自宅でコピーして貼り付けるだけです。

読み続けてください。がっかりすることはありません。

概要

  1. .htaccess ファイルとは何ですか?
    1. .htaccess ファイルはどのように機能しますか?
      1. .htaccess ファイルの作成方法
        1. .htaccess ファイルをカスタマイズする前の予防措置
          1. .htaccess ファイルを適切に変更する方法。
            1. Web サイトのルートにある .htaccess ファイルをカスタマイズする方法は?
              1. wp-admin で .htaccess ファイルをカスタマイズする方法
                1. wp-includes で .htaccess ファイルをカスタマイズするには?
                  1. wp-content で .htaccess ファイルをカスタマイズするには?
                    1. wp-content/uploads の .htaccess ファイルをカスタマイズするには?
                      1. WordPress の .htacess ファイルの最終まとめ

                        2015 年 10 月に最初に書かれたこの記事は、2022 年 7 月に最終更新されました。

                        最高の WordPress プロジェクトには最高のホストが必要です!

                        WPMarmite は Bluehost を推奨しています: 優れたパフォーマンス、優れたサポート。 素晴らしいスタートに必要なすべて。

                        ブルーホストを試す
                        CTA Bluehost WPMarmite

                        .htaccess ファイルとは何ですか?

                        .htaccessファイルは、ほとんどの Web サーバーが実行に使用するソフトウェアである Apache の構成ファイルです。 このファイルの内容は、サーバーが特定の方法で動作するように Apache に指示を与えます。

                        一部の Web ホストは NGINX サーバーでのみ実行されることに注意してください。 これは、たとえばフライホイールの場合です。 .htaccessファイルはありません。

                        WordPress を使用するほとんどすべての Web サイトには.htaccessファイルがあります。 実際、WordPress はインストール時に自動的に作成し、Web サイトのパーマリンク設定を含めます。

                        [設定] > [パーマリンク]に移動して URL 形式 (通常は「投稿名」) を選択すると、 .htaccessファイルが変更されます。

                        .htaccess ファイルはどのように機能しますか?

                        Web サイトには複数の.htaccessファイルを含めることができることを知っておく必要があります。

                        まず、Web サイトのルートにあるメインの.htaccessファイルがあります。

                        ウェブサイトのルートは、WordPress ファイル ( wp-adminwp-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 ファイルを作成します

                        1. 新しいテキスト ファイルを作成し、 htaccess.txtという名前を付けます。
                        2. 必要に応じて編集します。
                        3. サーバーのルートに送信します。
                        4. 名前を.htaccessに変更します。
                        FTP ソフトウェア上の .htaccess ファイル。

                        サーバーから .htaccess ファイルを作成します

                        1. あるべきディレクトリを右クリックします。
                        2. 新しいファイルを追加して、 .htaccess.
                        3. コード エディター (Notepad++、Coda、Sublime Text など) で編集します。

                        おめでとうございます。これで、 .htaccessファイルの目的と作成方法がわかりました。 追加できるガイドラインを確認する前に、注意してください。

                        あなたの目を見てください、それは刺すかもしれません!

                        .htaccess ファイルをカスタマイズする前の予防措置

                        .htaccessファイルのコードをカスタマイズするのはかなり簡単ですが (特に、この記事の残りの部分で紹介するコード スニペットを使用する場合は)、銃を突きつけてそれに取り組むべきではありません。

                        変更を加える前に、まず WordPress Web サイトのバックアップを作成することをお勧めします。 これには、UpdraftPlus などの専用プラグインを使用できます。

                        次に、 .htaccessファイルの最初の内容を保存します。 これを行うには、次のことができます。

                        • サーバー上の.htaccessファイルを.htaccess-initialファイルに複製します。
                        • ファイルの内容をコンピューター上のテキスト ファイルにコピーします。

                        問題が発生した場合は、元のコンテンツを簡単に復元できます。

                        .htaccess ファイルを適切に変更する方法。

                        変更を行うには、次の手順に従います。

                        • コード エディターでファイルを開きます。
                        • 追加内容をファイルに配置します。
                        • それを保存。
                        • Web サイトを更新して、問題がないかどうかを確認します。

                        Web サイトを更新することは非常に重要です。追加したコードに問題がないかどうかを確認するのに役立ちます。

                        一般に、問題がある場合、500 エラー「Internal Server Error」が画面に表示されます。

                        500 内部サーバー エラーの例。

                        この場合、変更を元に戻し、再度保存してください。 すべてが正常に戻るはずです。

                        一部のホストは、 .htaccessファイル内の特定のコードを受け入れないことがあります…

                        あなたはそれに対処する必要があります。

                        詳細については、ホストのカスタマー サービスにお問い合わせください。 うまくいけば、それを機能させるためにわずかな変更が必要になるだけです。

                        よくある 500 エラーなどの WordPress エラーが発生していますか? WPMarmite は、主要な問題を解決するための包括的なガイドを提供しています。

                        今回は、それはすべて良いです。 .htaccessファイルがどのように機能するか、適切に作成および編集する方法を知っています。

                        5つの異なる場所でカスタマイズする方法を見つけてください:

                        1. ウェブサイトのルート
                        2. wp-admin
                        3. wp-includes
                        4. wp-content
                        5. wp-content/uploads

                        すぐに、Web サイトのルートから始めましょう。 ご覧のとおり、これが最も一貫した作品になります。

                        すべてのコンピューター言語と同様に、 .htaccessファイルにはコメントを含めることができます。 これを行うには、行の先頭に#記号を配置して、その行が無視されるようにします。 これは、コードのどの行が実行されるかを覚えておくのに非常に便利です。 この記事の例でコメントを見ることができます。

                        Web サイトのルートにある .htaccess ファイルをカスタマイズする方法は?

                        インストールがうまくいけば、ウェブサイトのルートに.htaccessファイルが見つかります。 次のコードが含まれます。

                         # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\. php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
                        WordPress .htaccess ファイルのデフォルト コード

                        WordPress をマルチサイト モードで使用している場合、 .htaccessファイルのデフォルト コードは異なります。 ほとんどの場合、これは影響しません。

                        このファイルを見つけたので、以下のコード スニペットを使用してその内容を拡張し、いくつかの特定のことを実行できます。 これはセキュリティに関するものですが、その他のことも含まれます。

                        コメント# BEGIN WordPress# END WordPressの間にコードを含めないでください。このコードは場合によっては変更される可能性があります。

                        もう 1 つの注意事項: 変更を加える前に、元の.htaccessファイルを保存してください。 問題が発生した場合は、戻ることができる必要があります。

                        表示ディレクトリを無効にする

                        デフォルトでは、Web サイトのディレクトリにアクセスしようとすると、サーバーはディレクトリを表示します。 フォーマットは次のようになります。

                        /wp-includes のインデックス

                        これはハッカーにとってパンとバターであ​​ると想像できます。 彼らがあなたのウェブサイト上のファイルを見ることができるという事実は、彼らがそれをより良く攻撃できるようにするのに役立ちます. 次のコードを.htaccessファイルに挿入して、Web サイトを保護します。

                         # Disable display of directory contents Options All -Indexes

                        次のコードを使用して、ディレクトリのリストを防止することもできます。

                         # Alternative to prevent directory listing IndexIgnore *

                        サーバー情報を隠す

                        一部のホスティング プロバイダーでは、表示されるページにサーバー情報が含まれている場合があります。 この情報は、潜在的な攻撃者に詳細を提供する可能性があります。

                        したがって、次のコードでそれらを非表示にすることをお勧めします。

                         # Hide the information from server ServerSignature Off

                        次のシンボリック リンクを有効にする

                        私はまったく意味不明なことを言っているに違いありませんが、次のコード行をメインの.htaccessファイルに挿入することが重要です。

                         # Enable following symbolic links Options +FollowSymLinks

                        これにより、サーバーはいわゆるシンボリック リンク、つまりショートコードをたどることができます。

                        サーバーを正しい時刻に設定する

                        これはそれほど重要ではありませんが、サーバーが海外にある場合は、次のコード行でタイム ゾーンを設定するようサーバーに指示できます。

                         # Choose time zone SetEnv TZ America/New_York

                        デフォルトの文字エンコーディングを設定する

                        次のコードを使用すると、テキスト ファイルと HTML ファイルの文字エンコーディングをUTF-8 (コンピューターの文字エンコーディング) に設定できます。 これがないと、アクセントが誤解されるリスクがあります。

                         # Default encoding of text and HTML files AddDefaultCharset UTF-8

                        wp-config.php を保護する

                        Web サイトの構成ファイル ( wp-config.php ) には、データベースに接続するための資格情報が含まれています。

                        これは、Web サイトで最も機密性の高いファイルです。 潜在的なハッカーの標的になる可能性があります。 このコードをメインの.htaccessファイルに追加することで保護できます。

                         # Protect the wp-config.php file <files wp-config.php> order allow,deny deny from all </files>

                        .htaccess ファイル自体を保護する

                        wp-config.phpファイルと同様に、 .htaccessファイルは最大限保護する必要があります。 これを行うには、次のコードを挿入します。

                         # Protect .htaccess and .htpasswds files <Files ~ "^.*\.([Hh][Tt][AaPp])"> order allow,deny deny from all satisfy all </Files>

                        コメントスパムを制限する

                        あなたがブログを持っているなら、私と同じようにそれを知っています。コメントスパムは本当に苦痛です.

                        ありがたいことに、これを直接.htaccessファイルに防止するトリックがあります。 これは簡単な修正ではありませんが、Akismet プラグインと組み合わせることで、スパムの大部分をフィルタリングする必要があります。

                         # Avoid comment spam <IfModule mod_rewrite.c> RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.mywebsite.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L] </IfModule>

                        mywebsite.comをドメイン名に置き換えることを忘れないでください。

                        WPMarmite サブスクライバーに参加する

                        WPMarmite の最新の投稿 (および限定リソース) を入手してください。

                        今すぐ登録
                        WPMarmite英語ニュースレター

                        著者の ID の検出を回避する

                        複雑なユーザー ログインを使用している場合でも、検出できます。

                        もちろん、あなたのテーマでまだ公に表示されていないと仮定しています (表示される可能性があります)。

                        mywebsite.com/?author=xと入力して、x を 1 に置き換えて、管理者または作成者の ID を入力してください。 保護されていない場合は、 mywebsite.com/author/author_idのようなページにリダイレクトされます。

                        これが、ユーザー ID を 2 秒で見つける方法です。 あとは、パスワードを推測するだけです。

                        この手法から身を守るには、次のコードを使用します。

                         # Prevent the detection of an author's ID <IfModule mod_rewrite.c> RewriteCond %{QUERY_STRING} ^author=([0-9]*) RewriteRule .* - [F] </IfModule>

                        画像のホットリンクを無効にする

                        ホットリンクとは一体何ですか? 心配しないで、すべて説明します。

                        基本的に、Web サイト (記事など) に画像を追加すると、誰でも画像の 1 つの URL をコピーして、自分の Web サイトに表示できます。

                        これはそれほど悪くないと思うかもしれませんが、何らかの理由で非常にフォローされている Web サイトがあなたの画像を取得し、そのページの 1 つに表示すると、サーバーにリクエストが送信されます。

                        ホットリンクは、実際には帯域幅を盗んでいます。 あなたのウェブサイトが小さな共有サーバーにインストールされている場合、リソースが限られているため、ホストはそれを気に入らないかもしれません。

                        この問題を回避するには、次のコードを.htaccessファイルに挿入してカスタマイズします。

                         # Disable hotlinking of your images RewriteEngine On RewriteCond %{HTTP_REFER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ http://fakeimg.pl/400x200/?text=Do_not_touch_the_images [NC,R,L]
                        mywebsite.com を自分のドメイン名に置き換えます

                        特定の Web サイトで画像を表示できるようにするには、次のコードを使用します。

                         # Disable hotlinking of your images RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite2.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite3.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ http://fakeimg.pl/400x200/?text=Do_not_touch_the_images [NC,R,L]
                        mywebsite.com、mywebsite2.com、mywebsite3.com を任意のドメインに置き換えます。

                        要求された画像の代わりに表示される画像をカスタマイズすることもできます。 簡単なものを追加しましたが、もっとクリエイティブにできます。

                        IP アドレスの禁止

                        一部の IP アドレスが Web サイトの管理に頻繁にログインしようとしていることに気付いた場合 (たとえば、Login Lockdown プラグインを使用)、それらの IP アドレスを禁止することでそれらを取り除くことができます。

                        また、コメント スパマーの IP アドレスを取得して、Web サイトからそれらを禁止することもできます。

                        攻撃者が IP アドレスを変更する可能性があるため、この解決策は永続的ではありませんが、スキルの低い個人に対しては機能する可能性があります。

                         # Ban an IP address <Limit GET POST> order allow,deny deny from xxx.xxx.xxx.xxx allow from all </Limit>
                        xxx.xxx.xxx.xxx を禁止する IP アドレスに置き換えます

                        特定の Web サイトからの訪問者をブロックする

                        準拠していない Web サイトが自分の Web サイトにリンクしていることに気付き、その Web サイトからの訪問者が自分の Web サイトにアクセスできないようにする場合は、次のコードを使用します。

                         # Prevent visitors to these sites from accessing yours <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_REFERER} mywebsite1.com [NC,OR] RewriteCond %{HTTP_REFERER} mywebsite2.com [NC,OR] RewriteRule .* - [F] </ifModule>
                        mywebsite1.com と mywebsite2.com を選択した Web サイトに置き換えます。

                        訪問者をある Web サイトから別の Web サイトにリダイレクトする

                        前のヒントをさらに一歩進めて、訪問者を特定の Web サイトから別の Web サイトにリダイレクトできます。

                        使用するコードは次のとおりです。

                         # Redirect visitors from one site to another RewriteEngine on RewriteCond %{HTTP_REFERER} sourcewebsite\.com/ RewriteRule ^(.*)$ http://www.destinationwebsite.com [R=301,L]
                        ソース Web サイトと宛先 Web サイトを選択したものに置き換えます

                        リダイレクトを作成する

                        .htaccessファイルを使用すると、リダイレクト (URL A を URL B にリダイレクト) を実行できます。

                        いくつかのページをリダイレクトする場合には便利ですが、大量のリダイレクトを作成したい場合は、この記事で紹介した WordPress Redirection プラグインをお勧めします。

                        .htaccessファイルでリダイレクトを作成する方法:

                         # Redirection of any page Redirect 301 /oldpage/ http://www.mywebsite.com/newpage # Redirection of a new category (with renaming from category to topic) Redirect 301 /category/technology/ http://www.mywebsite.com/topic/techno/

                        wwwなしのアドレスをwwwありのアドレスにリダイレクト

                        Web サイトをセットアップするとき、最初に実行するアクションの 1 つは、www のない Web サイトをwwwのあるバージョンにリダイレクトすることwww (またはその逆)。

                        次回 Web サイトを作成するときにテストを行うと、2 つのアドレスが必ずしも Web サイトにリンクしているとは限らないことがわかります。

                        場合によっては、ホスティング会社がこれを自動的に処理するか、ホスティング Web サイトの管理ページから有効にする必要があります (たとえば、Gandi の場合)。

                        このリダイレクトを手動で行う必要がある場合は、 mywebsite.comを自分の Web サイトに置き換えて、次のコードを使用します。

                         # Redirection of site without www to www RewriteEngine On RewriteCond %{HTTP_HOST} ^mywebsite. com [NC] RewriteRule ^(.*)$ http://www.mywebsite.com/$1 [L,R=301]
                        mywebsite.com を自分のドメイン名に置き換えます

                        www のあるアドレスを www のないアドレスにリダイレクトする

                        一方、(WPMarmite のように) Web サイト名の前にwwwを付けたくない場合は、 wwwなしのバージョンにリダイレクトすることができます。

                        次のコードを.htaccessファイルに挿入します。

                        警告: このコードを以前のコードと一緒に使用しないでください。そうしないと、Web サイトでリダイレクト ループが発生します ( wwwのないバージョンは、 www wwwないバージョンにリダイレクトされるなど)。

                        HTTPS にリダイレクト

                        Web サイトに SSL 証明書を設定して HTTPS に切り替えた場合、すべての訪問者が安全なバージョンの Web サイトを閲覧していることを確認する必要があります。

                        そうしないと、機密情報 (個人データや銀行データなど) がハッカーによって復元される可能性があります。

                        次のコードを使用して、Web サイト全体を HTTPS に切り替えます。

                         # Redirection to HTTPS RewriteCond %{SERVER_PORT} ^80$ RewriteRule ^(. *)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

                        特定のファイルの強制ダウンロード

                        Web サイトからファイルをダウンロードする場合、ブラウザがファイルを開いて表示しようとすることがあります。

                        個人的には、これは PDF ファイルに便利だと思います。 一方、他のタイプのファイルには非常に不快です。

                        次のコードを挿入して、訪問者がこれらの拡張子を持つファイルを直接ダウンロードできるようにします (必要に応じて変更してください)。

                         # Force download for these file types AddType application/octet-stream .doc .docx .xls .xlsx .csv .mp3 .mp4

                        カスタム メンテナンス ページを作成する

                        前回の記事で、メンテナンス プラグインの選択を発見しました。 ただし、メンテナンスページが表示されない場合があります。

                        面倒ですね。

                        メンテナンス ページを取得するには、次のコードを使用できます。

                         # Maintenance page RewriteEngine on RewriteCond %{REQUEST_URI} ! /maintenance.html$ RewriteCond %{REMOTE_ADDR} !^xxx\.xxx\.xxx\.xxx RewriteRule $ /maintenance.html [R=302,L]

                        これが機能するには、次のことが必要です。

                        • Web サイトがメンテナンス中であることを示すコンテンツを含むmaintenance.htmlファイルを作成します。
                        • Web サイトにアクセスできるように、4 行目に IP アドレスを追加します (必ず「 \ 」を残してください) (この Web サイトで IP アドレスを確認してください)。

                        メンテナンスが完了したら、各行の先頭に「 # 」を付けてコメントとして渡します。

                        キャッシュを有効にする

                        .htaccessファイルを使用すると、Web サイト上の特定のファイルを訪問者のブラウザーにキャッシュして、読み込みを高速化できます。

                        実際、ブラウザはキャッシュ内のファイルを再ダウンロードする必要はありません。

                        これを行うには、次のコードを挿入します。

                         # Caching of files in the browser <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 month" ExpiresByType text/html "access plus 0 seconds" ExpiresByType text/xml "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType application/json "access plus 0 seconds" ExpiresByType application/pdf "access plus 0 seconds" ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType application/atom+xml "access plus 1 hour" ExpiresByType application/x-font-ttf "access plus 1 month" ExpiresByType font/opentype "access plus 1 month" ExpiresByType application/x-font-woff "access plus 1 month" ExpiresByType application/x-font-woff2 "access plus 1 month" ExpiresByType image/svg+xml "access plus 1 month" ExpiresByType application/vnd.ms-fontobject "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType video/ogg "access plus 1 month" ExpiresByType audio/ogg "access plus 1 month" ExpiresByType video/mp4 "access plus 1 month" ExpiresByType video/webm "access plus 1 month" ExpiresByType text/css "access plus 6 month" ExpiresByType application/javascript "access plus 6 month" ExpiresByType application/x-shockwave-flash "access plus 1 week" ExpiresByType image/x-icon "access plus 1 week" </IfModule> # Headers Header unset ETag FileETag None <ifModule mod_headers.c> <filesMatch "\.(ico|jpe?g|png|gif|swf)$"> Header set Cache-Control "public" </filesMatch> <filesMatch "\.(css)$"> Header set Cache-Control "public" </filesMatch> <filesMatch "\.(js)$"> Header set Cache-Control "private" </filesMatch> <filesMatch "\.(x?html?|php)$"> Header set Cache-Control "private, must-revalidate" </filesMatch> </ifModule>

                        ファイルのキャッシュは、ファイルの種類ごとに指定された期間、または訪問者がキャッシュをクリアするまで有効です。

                        キャッシュでウェブサイトを高速化するには、プレミアム WP Rocket プラグイン (アフィリエイト リンク) を使用することをお勧めします。 シンプルですぐに設定できるので、WordPress の初心者に最適です。 その助けを借りて、上記のスニペット (コードの一部) を使用する必要はありません。

                        WP Rocket でウェブサイトをスピードアップ

                        WordPress の専門家が認めた最も強力なキャッシュ プラグインを使用して、サイトをロケットに変えましょう。
                        WPロケットを試す
                        ロゴ WP ロケット

                        圧縮を有効にする

                        これまで見てきたすべてのものに加えて、サーバーからブラウザーに転送される前に一部のリソースを圧縮することができます。

                        また、ファイル圧縮により、ページの読み込み速度が速くなります。 したがって、このコードを実装して、Web サイトの速度を向上させることをお勧めします。

                         # Compression of static files <IfModule mod_deflate. c> AddOutputFilterByType DEFLATE text/xhtml text/html text/plain text/xml text/javascript application/x- javascript text/css BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\. 0 [678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html SetEnvIfNoCase Request_URI \. (?:gif|jpe?g|png)$ no-gzip dont-vary Header append Vary User-Agent env=! dont- vary </IfModule> AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/json

                        特定のスクリプトへのアクセスを無効にする

                        機能するために、WordPress はwp-includesディレクトリにあるスクリプトを使用します。 ただし、それらに直接アクセスする理由はありません。 アクセスを制限するには、次のコードを使用します。

                         # Block the use of certain scripts RewriteEngine On RewriteBase / RewriteRule ^wp- admin/includes/ - [F,L] RewriteRule ! ^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/. +\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L]

                        ファイル インジェクションに対する保護

                        ハッカーは、ファイルをサーバーに送信して Web サイトを制御しようとする可能性があります。 パスにレンチを投げるには、次のコードを.htaccessファイルに含めることができます。

                         # Protection against file injections RewriteCond %{REQUEST_METHOD} GET RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC] RewriteRule .* - [F]

                        その他の脅威に対する保護

                        Facebook で、Richard は、 .htaccessファイルに数行を追加することで、クリックジャッキングやその他の脅威から保護できると私に言いました。

                        参考までに、クリックジャッキングは、 frameまたはiframeタグを使用して、訪問者があなたの Web サイトにいないのに、あなたの Web サイトにいると信じ込ませるのに役立つ手法です。

                        したがって、次のコードは、クリックジャッキングから保護し、MIME スニッフィングなどの他の脅威に対抗し、XSS 攻撃 (保護が不十分な変数に HTML または JavaScript を挿入する) の場合にコンテンツをブロックするのに役立ちます。

                         # Various protections (XSS, clickjacking and MIME-Type sniffing) <ifModule mod_headers.c> Header set X-XSS-Protection "1; mode=block" Header always append X-Frame-Options SAMEORIGIN Header set X-Content-Type-Options: "nosniff” </ifModule>

                        それだけです。ウェブサイトのルートにある.htaccessファイルに組み込むために、一連の最適化を行ったところです。

                        先に進みましょう: wp-adminwp-icludeswp-content 、およびwp-content/uploadsフォルダーの新しいコード。

                        wp-admin で .htaccess ファイルをカスタマイズする方法

                        wp-adminはあなたのウェブサイトの隠れ家です。 記事を書いたり、メニューを構成したり、テーマを設定したりする場所です。

                        言うまでもなく、権限のない人がこの避難所に入ってはなりません。 それ以外の場合は、結果に注意してください。

                        Web サイトのwp-adminフォルダーに配置する.htaccessファイルを使用してセキュリティを強化するためにできることは次のとおりです。

                        Web サイト管理へのアクセスを制限する

                        リストされた IP を持つユーザーのみがwp-adminフォルダーにアクセスできます。 見知らぬ人があなたのウェブサイトにログインするのを防ぐのに非常に便利です (たとえ彼らが正しいパスワードを持っていたとしても)。

                         <Limit GET POST PUT> order deny,allow deny from all # Alex's IP allow from xxx.xxx.xxx.xxx # Nico's IP allow from xxx.xxx.xxx.xxx # IP of another access point allow from xxx.xxx.xxx.xxx </Limit>

                        2 番目の認証を追加する

                        WordPress Web サイトの管理者にログインするときは、ログインとパスワードを使用します。 そうですね、 .htaccessファイルと別のファイルを介して 2 番目のものを追加することは可能です。

                        まず、 wp-adminディレクトリに.htpasswdという名前のファイルを作成し、そこにユーザー名とパスワードのペアを挿入します。 次の Web サイトを参考にしてください。

                        HTPasswd ジェネレーター ツール インターフェイス。

                        最初のフィールドに使用するユーザー名を入力し、2 番目のフィールドにパスワードを入力して、[. .htpasswdファイルを生成] をクリックします。

                        次に、 .htpasswdファイルに表示される行をコピーします。 複数のユーザーを作成する必要がある場合は、プロセスを繰り返して、新しいユーザー名とパスワードのペアを新しい行に追加します。

                        たとえば、次の種類のファイルを取得できます。

                         alex:ieS547B1UxY8M jack:rSqEJf0SeTlRs
                        .htpasswd ファイルのダミー コンテンツ

                        次に、次のコードを.htaccessファイルに挿入します。

                         # Second authentication for administration <Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files> AuthName "Login to the administration" AuthType Basic AuthUserFile "/full/path/to/the/file/.htpasswd" Require valid-user

                        この操作の難しい部分は、 .htpasswdファイルへのフル パスを正しく取得することです。 確実に見つけるには、 info.phpファイルを作成し、次のコードを挿入します。

                         <?php echo "Path to copy: " . realpath('.htaccess'); ?>
                        info.php ファイルを wp-admin に配置します

                        yourwebsite.com/wp-admin/info.phpにアクセスすると、 .htaccessファイルに配置される.htpasswdファイルの実際のパスを取得できます。 正しいパスを取得したら、 info.phpファイルを削除します。

                        このコードをそのまま挿入すると、AJAX リクエストが機能しなくなります。 以下のスニペットを使用して問題を解決します

                         AuthType Basic AuthName "Protected page" AuthUserFile /home/.htpasswd Require valid-user <Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files> <Files admin-post.php> Order allow,deny Allow from all Satisfy any </Files> <Files "\.(css|gif|png|js)$"> Order allow,deny Allow from all Satisfy any </Files>
                        info.php ファイルを wp-admin に配置します

                        私が今述べたことをすべて理解していれば、WordPress 管理にアクセスするための二重認証が必要です。

                        次の部分に移りましょう。

                        wp-includes で .htaccess ファイルをカスタマイズするには?

                        PHP ファイルへの直接アクセスをブロックする

                        wp-includes.htaccessファイルを作成し、次のコードを貼り付けて、PHP ファイルが直接読み込まれないようにします。

                         # Blocks direct access to PHP files (Thanks to Sucuri) <Files wp-tinymce.php> allow from all </Files> <FilesMatch "\.(?i:php)$"> <IfModule !mod_authz_core.c> Order allow,deny Deny from all </IfModule> <IfModule mod_authz_core.c> Require all denied </IfModule> </FilesMatch> <Files wp-tinymce.php> Allow from all </Files> <Files ms-files.php> Allow from all </Files>

                        上記のコードは、Sucuri プラグインによって提供されます。

                        wp-content で .htaccess ファイルをカスタマイズするには?

                        PHP ファイルへの直接アクセスをブロックする

                        wp-contentフォルダーのコードは似ていますが、例外が削除されているだけです。

                         # Blocks direct access to PHP files (Thanks to Sucuri) <FilesMatch "\.(?i:php)$"> <IfModule !mod_authz_core.c> Order allow,deny Deny from all </IfModule> <IfModule mod_authz_core.c> Require all denied </IfModule> </FilesMatch>

                        wp-content/uploads の .htaccess ファイルをカスタマイズするには?

                        PHP ファイルへの直接アクセスをブロックする

                        この同じコードを使用して、メディアが保存されているフォルダーを保護し、PHP ファイルが外部の誰か (たとえば、厄介なハッカー) によって実行されるのを防ぎます。

                         # Blocks direct access to PHP files (Thanks to Sucuri) <FilesMatch "\. (?i:php)$"> <IfModule ! mod_authz_core.c> Order allow,deny Deny from all </IfModule> <IfModule mod_authz_core. c> Require all denied </IfModule> </FilesMatch>

                        WordPress の .htacess ファイルの最終まとめ

                        このガイド全体でわかっているように、 .htaccessファイルは Web サイトのサーバーを構成するための非常に強力なツールです。

                        注意して取り扱うことで、Web サイトのセキュリティ、パフォーマンス、SEO、さらにはユーザー エクスペリエンスを向上させることができます。

                        #WordPress サイトの #htaccess ファイルは強力なツールです。 それがどのように機能するかを調べ、WPMarmite のヒントを使ってシェフのように設定してください。

                        クリックしてツイート

                        繰り返しになりますが、問題が発生した場合に備えて、元の.htaccessファイルのバックアップを常に保持し、リセットを実行することをお勧めします。

                        細心の注意を払って変更を進めてください (警告しました!)。 Web サイトのホストによっては、エラーまたは非互換性が発生する場合があります。

                        この記事ではかなりのことがカバーされていますが、さまざまなリソースを使用して.htaccessの設定をさらに進めることができます。

                        • WordPress のドキュメントと Apache のドキュメント (サーバーを実行するソフトウェア)。
                        • Perishable Press のブログには、この件に関する有料の本さえあります。

                        さよならを言う前に、コメントであなたの意見を聞きたいです。 .htaccessファイルをカスタマイズしましたか?

                        そして最も重要なことは、使い慣れたコード スニペットを他の読者と自由に共有できることです。