WordPressサイトの.htaccessファイルは、Apacheウェブサーバーで使用される設定ファイルです。Kinstaは、nginxウェブサーバーを利用しているため、Kinstaのお客様が.htaccessファイルを扱うことはありません。
Kinsta以外のホスティングサービスを利用している場合、.htaccessファイルを理解しておくことは重要です。WordPressの解説記事などでも頻繁に登場します。
今回は、WordPressの.htaccessファイルの概要と用途について詳しくご説明します。また、同様の操作を.htaccessファイルなしでKinstaで実行する方法も見ていきます。
WordPressの.htaccessファイルとは(要約)
.htaccessファイルは、ウェブサーバーの機能を規定する特別なルールを作成できる設定ファイルです。ルートフォルダに格納されています。
WordPressサイトは、.htaccessファイルを使用してサイトのパーマリンク構造を管理するのがデフォルトですが、多くのWordPressプラグインも、以下の用途で.htaccessファイルを使用します。
- キャッシュされたコンテンツをより効率的に配信する特別なルールの追加
- 自動リダイレクトの設定
- HTTPのHTTPSへのリダイレクト
- IPアドレスに基づいてアクセスのブロックまたは制限
- 最大アップロードサイズの引き上げ
.htaccessファイルとは
要約すると、.htaccessはほとんどの安価な共有ホスティング会社が使用するウェブサーバーであるApacheウェブサーバーによって使用される構成ファイルです。基本的な構成ファイルであるため、ウェブサーバーの機能を規定する特別なルールを作成できるファイルです。
デフォルトでは、WordPressサイトは.htaccessファイルを使用してサイトのパーマリンク構造を管理します。WordPressプラグインの多くも.htaccessファイルを使用します。たとえば、キャッシュプラグインがある場合、そのプラグインはキャッシュされたコンテンツをより効率的に配信するために、独自の特別なルールを.htaccessファイルに追加する場合があります。
さらに、貴方自身も独自のコードスニペットをサイトの.htaccessファイルに追加して、次のようなアクションを実行することもできます。
- リダイレクト: 一時(307など)または永続の自動リダイレクトが設定できます。たとえば、サイトのURLを変更する場合は、トラフィックやSEOへの悪影響がないように301リダイレクトを設定します。または、最近SSL証明書をインストールした場合は、HTTPをHTTPSにリダイレクトできます。
- セキュリティ:WordPressのセキュリティを向上させるために、サイト全体または一部へのアクセスを制限できます。たとえば、ホワイトリストに登録された特定のIPアドレス(あなたのIPアドレスなど)のみがサイトの管理画面にアクセスできるように設定できます。または、特定のIPアドレスからのサイト全体へのアクセスを禁止することもできます。
- その他の設定の微調整:サーバーの機能を微調整できます。たとえば、「アップロードしたファイルはphp.iniで定義されたupload_max_filesizeを超過しています」エラーを修正するために、最大アップロードサイズを増やすことができます。
WordPressで.htaccessファイルを見つけるには
Apacheウェブサーバーを使用している場合は、FTPまたはcPanelのファイルマネージャーを使用してサイトのサーバーに接続することにより、サイトの.htaccessファイルを見つけて編集できます。
サーバーに接続し、サイトのファイルを閲覧できるようになったら、WordPressサイトの.htaccessファイルはサイトのルートフォルダにあります。ルートフォルダは、wp-config.phpファイルとwp-adminやwp-contentフォルダがあるフォルダです。
デフォルトでは、サイトには1つの.htaccessファイル(ルートフォルダにあるファイル)だけがあります。
ただし、WordPressはデフォルトの状態ではそうなっていませんが、別々のディレクトリで複数の.htaccessファイルを使用することは可能です。
.htaccessファイルは、配置されているディレクトリとそのすべてのサブディレクトリに適用されるため、.htaccessファイルをサブディレクトリに追加して、そのディレクトリ(およびそのサブディレクトリ)にのみ適用されるルールが追加できます。ただし、通常は、すべてのルールを1つの.htaccessファイルに追加した方が簡単です。
WordPressの.htaccessファイルの一例
デフォルトでは、WordPressサイトの.htaccessファイルには、サイトのパーマリンクの機能を制御する単一のルールのみが含まれています。以下に例を示します。
独自のルールを.htaccessに追加する方法
細かいミスをしてもWordPressサイトにアクセスできなくなる恐れがあるため、編集を行う前に必ず、サイトの.htaccessファイルのバックアップを作成しましょう。
独自の.htaccessルールを追加するには、既存のWordPressの.htaccessルールの上または下にコードスニペットを追加します。
いくつかの例を紹介しますが、無料の.htaccess Generatorサイトには、さまざまなアクションを実行するコードスニペットを生成するための非常に便利なツールが用意されています。
すべてのトラフィックをサイトのHTTPSバージョンにリダイレクトする
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
IPアドレスをブロックする
//Block users by IP
order allow,deny
deny from 192.168.1.1
allow from
サイトの一部にアクセスするためのパスワードを追加する
//Password Protect file
AuthName "Prompt"
AuthType Basic
AuthUserFile /wp-admin
Require valid-user
この場合、.htpasswd
ファイルを別途追加する必要があります。
次に、独自のルールを追加した後の.htaccessファイルの一例を示します…
Kinstaで同様の操作を実行する方法
冒頭で触れた通り、KinstaではApacheではなくnginxウェブサーバーを使用しています。このため、Kinstaのお客様のWordPressサイトには、.htaccessファイルがありません。
リダイレクトやセキュリティルールの追加を行う際、.htaccessファイルの設定やルールは、nginx独自のルール構文に簡単に変換することができます。
Kinstaでは、.htaccessファイルの重要な機能と同等の機能をコントロールパネルに搭載しています。その他のルールについては構文は異なりますが、nginxには同様にルールを設定できる設定ファイルがあります。
リダイレクトを設定する
Kinstaでホストされているサイトのリダイレクトを作成するには、MyKinstaのリダイレクトツールを使用します。
WordPressリダイレクトについては動画での解説もご用意しています。
特定のIPアドレスをブロックする
特定のIPアドレスからのアクセスをブロックするには、MyKinstaのIP制限ツールを使用します。
サイトをパスワードで保護する
サイト全体のアクセスを制限するには、MyKinstaのパスワード保護(htpasswd)機能を使用することができます。「WordPressサイト」>(サイト名)>「ツール」に移動し、「パスワード保護」セクションの「利用する」をクリックします。あとはユーザー名とパスワードを設定するだけで完了です。
注)パスワード保護機能は、CDNおよびエッジキャッシュと互換性がないため、いずれかを使用している場合は利用できません。
パスワード保護を有効にすると、WordPressサイトへのアクセスにはログイン認証が必要になります。認証情報はいつでも変更可能で、不要になれば無効化することもできます。
その他のルールについてはお気軽にカスタマーサポートまでお問い合わせください
nginxの設定ファイルを使用して、フォルダのパスワード保護や画像の直リンク禁止などのルールをサーバーレベルで実装することも可能です。
デフォルトでは、お客様がnginxの設定ファイルを編集することはできません。ご要望がございましたら、MyKinstaのライブチャットよりお気軽にご相談ください。なお、.htaccess
をnginxルールに変換することはできません。
まとめ
WordPressの.htaccessファイルは、Apacheウェブサーバーで使用される設定ファイルです。さまざまな用途がありますが、主に以下の機能に使用されています。
- リダイレクト
- IPアドレスのブラックリストやホワイトリストへの登録
- フォルダのパスワード保護
Kinstaでは、より新しいnginxウェブサーバーを採用しているため、Kinstaでホストされるウェブサイトには.htaccessファイルがありません。MyKinstaのツールや機能を使用して、リダイレクトとIP制限のルールを簡単に追加することができます。その他、実装したいルールがある場合は、Kinstaのカスタマーサポートにお気軽にお問い合わせください。スタッフがnginxの設定ファイルにルールを追加します。