WordPressユーザーが知っておくべき.htaccessの便利なルール7選
Apacheサーバーでサイトを運用しているなら、「.htaccess」(Hypertext Accessファイル)と呼ばれる設定ファイルに出会うことになります。このファイルを使えば、ルートディレクトリやサブディレクトリ内のファイル・フォルダへのアクセスを制御するルールを作成できます。実際、WordPressのルートディレクトリにある.htaccessファイルを開いてみると、パーマリンク設定に関連するコードが記述されているはずです。しかし、このファイルでできることはそれだけではありません。ここでは、すべてのWordPressユーザーが知っておき、実装すべき便利な.htaccessルールを7つご紹介します。
作業前の注意点
注意:
1. 特に記載がない限り、以下で紹介するコードスニペットは、サイトのルートディレクトリにある.htaccessファイルに追加してください。
2. 変更を行う前に、必ずファイルのバックアップを取っておきましょう。万が一問題が発生した場合でも、すぐに元の状態に復元できます。
1. ディレクトリリスティングを無効化する
WordPressをインストールしたら、まず最初に行うべき設定の一つがディレクトリリスティング(ディレクトリ内の一覧表示)の無効化です。この機能が有効になっていると、ディレクトリの中身が公開され、サイト訪問者なら誰でもフォルダ内を閲覧できてしまいます。一部のホスティング会社ではデフォルトで無効になっていますが、多くの場合は有効のままです。無効化するには、以下のコードを.htaccessファイルに追加するだけです。
#ディレクトリリスティングを無効化 Options All -Indexes

2. 301リダイレクトを設定する
WordPressにはURLを自由にリダイレクトできるプラグインが多数ありますが、リダイレクトしたいURLが数個程度であれば、専用プラグインを導入する必要はありません。以下のようなコードスニペットを使えば簡単に対応できます。URLは自分の環境に合わせて書き換えることを忘れないでください。
#301リダイレクトを作成 Redirect 301 /oldpage.html https://example.com/newpage.html
3. ブラウザキャッシュを有効化する
.htaccessファイルを使えば、ブラウザキャッシュを有効化することもできます。これにより、再訪問者のサイト読み込み速度が大幅に向上します。ブラウザキャッシュを有効にするには、以下のコードスニペットを.htaccessファイルに追加してください。
#ブラウザキャッシュを有効化 <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 2 days" </IfModule>
4. 必要時にメンテナンスページを表示する
サイトで簡単なメンテナンス作業を行う場合や、何らかの理由でサイトが壊れてしまった場合、高機能なメンテナンスプラグインを使うのは大げさかもしれません。そんなときは、シンプルなメンテナンスメッセージを記載したHTMLページを作成してルートディレクトリにアップロードし、以下のコードで訪問者をそのページへリダイレクトしましょう。「maintenance.html」の部分は、実際に作成したファイル名に置き換えてください。
#メンテナンスモードを有効化
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
RewriteRule $ /maintenance.html [R=302,L]

5. 管理画面へのアクセスを制限する
WordPressサイトの管理者があなただけの場合、管理画面へのアクセスを制限することでサイトのセキュリティを大幅に強化できます。他人からのアクセスを防ぐには、以下のコードスニペットを使用します。「192.168.0.1」をあなた自身のIPアドレスに置き換えてください。複数のIPアドレスを許可することも可能です。
#wp-login.phpへのアクセスを制限 <Files wp-login.php> Order Deny, Allow Deny from All Allow from 192.168.0.1 Allow from xxx.xxx.x.x </Files>

6. 特定のIPアドレスをブロックする
特定のIPアドレスから不審なアクセスが頻繁に発生している場合は、.htaccessのルールで簡単にブロックできます。以下のルールを追加し、IPアドレスの部分を実際にブロックしたいIPアドレスに置き換えるだけでOKです。
#不審なIPアドレスをブロック <Limit GET POST> order allow,deny deny from 192.168.0.1 deny from 192.168.0.2 allow from all </Limit>
7. .htaccessファイル自体を保護する
.htaccessファイルではさまざまな強力な設定が可能なため、このファイル自体を不正アクセスから保護することが非常に重要です。保護するには、以下のコードスニペットを追加するだけです。
#htaccessファイルを保護 <files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </files>
まとめ
.htaccessファイルに追加できる設定は他にもたくさんありますが、まずは上記の7つを実装しておけば十分でしょう。あなたのお気に入りの.htaccessルールやテクニックがあれば、ぜひコメント欄でシェアしてください。
-
すべてのゲーマーが知っておくべきG-Syncの全知識!画面の乱れを解消するNVIDIAの革新的技術
フレーム落ちや画像の歪みは、すべてのゲーマーにとって悪夢のような存在です。これらの問題は、大量のリソースを消費する重いアプリケーションが原因で発生し、モニターとグラフィックカードの描画タイミングにズレが生じます。その結果、特定のフレームがモニターのリフレッシュ間隔の途中で描画されてしまうのです。 グラフィックスの描画を担うコンポーネント同士の同期が崩れると、「ティアリング」が頻繁に発生します。ティアリングとは、複数のフレームが同時に描画されることでオブジェクトの配置が崩れ、画面が歪んで見える現象のことです。 「スクリーンテアリング」という言葉に馴染みのない方は、ぜひこの記事を読んでみてください
-
WordPress 5.4とFirefoxで全ページに表示されるhtaccess認証プロンプト問題の原因と対処法
雨が降れば土砂降り、という状況です。数週間前、書籍専門のウェブサイトで発見したWordPressのcURLエラー28に関する記事を公開しました。この問題は、wp-adminディレクトリに.htaccessファイルを設置していることが原因と考えられます。WordPress 5.4へアップデートするまでは特に問題なかったのに、今ではトラブルの元になっています。とはいえ原因が分かっているため、ひとまず無視することは可能です。しかし、.htaccessを維持し続けることには副作用があります。ウェブサイトのすべてのページで認証プロンプトが表示されてしまうのです。本来なら、制限されたページへアクセスしよう