WordPressサイトの.htaccessファイルは、Apacheウェブサーバーで使用される基本設定ファイルです。KinstaはApacheの代わりにパフォーマンスの高いNginxウェブサーバーを使用しているため、Kinstaのお客様なら.htaccessファイルはありません。
ただし、他社のお客様なら、.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ファイルの一例を示します…
.htaccessを使用しないKinstaで変更を加えるには
上記で説明したように、KinstaはApacheではなくNginx ウェブサーバーを使用します。つまり、KinstaでホストされているWordPressサイトには、機能する.htaccessファイルはありません。
ただし、リダイレクトやセキュリティルールなどの同様のアクションを実行できないわけではありません。.htaccessファイルの設定やルールは、Nginx独自の書き換えルール構文に簡単に変換できます。
Kinstaは、多くの重要な.htaccess機能と同様な用途のダッシュボードツールを多数提供しています。その他のルールについては、構文は異なりますが、Nginxには同様にルールを設定できる独自の設定ファイルがあります。
リダイレクトを設定する
Kinstaでホストされているサイトのリダイレクトを作成するには、MyKinstaダッシュボードのリダイレクトツールを使用します。
WordPressリダイレクトのベストプラクティスについて、動画での解説をご用意しています。
特定のIPアドレスからのアクセスを禁止する
特定のIPアドレスからのKinstaでホストされているサイトへのアクセスを禁止するには、MyKinstaダッシュボードのIP拒否ツールを使用します。
サイトをパスワードで保護する
サイト全体をアクセス禁止にするには、MyKinstaダッシュボードのパスワード保護(htpasswd)ツールを使用します。本機能はウェブサイトの「ツール」セクションにあります。「有効にする」をクリックし、ユーザー名とパスワードを選択するだけで準備完了です。
パスワード保護ツールは、CDNやエッジキャッシュと互換性がありません。いずれかを利用している場合は、パスワード保護を有効にすることはできません。
パスワード保護を有効にした後、WordPressウェブサイトにアクセスするには認証が必要になります。認証情報はいつでも変更でき、必要がなくなったら無効にすることができます。
その他のルールについてはカスタマーサポートまでお気軽にお問い合わせください
Nginx構成ファイルを使用して、サーバーレベルでのフォルダーのパスワード保護や画像のホットリンクの無効化など、他の構成ルールを追加することも可能です。
デフォルトでは、Kinstaのお客様にNginx構成ファイルを自分で編集いただけません。一方、顧客サポートまでお問い合わせいただければ、該当のルールを喜んで追加いたします。注:.htaccess
をNginxルールに変換することはできません。
まとめ
WordPress .htaccessファイルは、Apacheウェブサーバーで使用される基本設定ファイルです。多目的で使用できますが、WordPressユーザーに最もよく使用される機能は次のとおりです。
- リダイレクト
- IPアドレスのブラックリストやホワイトリストへの登録
- フォルダーのパスワード保護
- 云々
Kinstaはより新しいNginxウェブサーバーを使用している為、Kinstaをご利用のウェブサイトには.htaccessファイルはありません。MyKinstaダッシュボードの該当のツールを使用してリダイレクトとIP拒否のルールを追加いただけます。その他のルールに関しては、Kinstaのサポートチームが、Nginx構成ファイルにApacheの.htaccessファイルに相当ルールを追加いたします。