WordPressサイトの.htaccessファイルは、Apacheウェブサーバーで使用される基本設定ファイルです。KinstaはApacheの代わりにパフォーマンスの高いNginxウェブサーバーを使用しているため、Kinstaのお客様なら.htaccessファイルはありません。

ただし、他社のお客様なら、.htaccessファイルを理解することは重要です。これはWordPressチュートリアルで頻繁に出てくるトピックでもあります。

本記事では、WordPressの.htaccessファイルの概要と用途について詳しく説明します。次に、同じ用途を.htaccessファイルのないKinstaで実行する方法もご案内します。

.htaccessファイルとは

要約すると、.htaccessはほとんどの安価な共有ホスティング会社が使用するウェブサーバーであるApacheウェブサーバーによって使用される構成ファイルです。基本的な構成ファイルであるため、ウェブサーバーの機能を規定する特別なルールを作成できるファイルです。

デフォルトでは、WordPressサイトは.htaccessファイルを使用してサイトのパーマリンク構造を管理します。WordPressプラグインの多くも.htaccessファイルを使用します。たとえば、キャッシュプラグインがある場合、そのプラグインはキャッシュされたコンテンツをより効率的に配信するために、独自の特別なルールを.htaccessファイルに追加する場合があります。

さらに、貴方自身も独自のコードスニペットをサイトの.htaccessファイルに追加して、次のようなアクションを実行することもできます。

WordPressで.htaccessファイルを見つけるには

Apacheウェブサーバーを使用している場合は、FTPまたはcPanelのファイルマネージャーを使用してサイトのサーバーに接続することにより、サイトの.htaccessファイルを見つけて編集できます。

サーバーに接続し、サイトのファイルを閲覧できるようになったら、WordPressサイトの.htaccessファイルはサイトのルートフォルダーでにあります。ルートフォルダーは、wp-config.phpファイルとwp-adminwp-contentフォルダーがあるフォルダーです。

WordPressの.htaccessファイルの場所
WordPressの.htaccessファイルの場所

デフォルトでは、サイトには1つの.htaccessファイル(ルートフォルダにあるファイル)だけがあります。

ただし、WordPressはデフォルトの状態ではそうなっていませんが、別々のディレクトリで複数の.htaccessファイルを使用することは可能です。

.htaccessファイルは、配置されているディレクトリとそのすべてのサブディレクトリに適用されるため、.htaccessファイルをサブディレクトリに追加して、そのディレクトリ(およびそのサブディレクトリ)にのみ適用されるルールが追加できます。ただし、通常は、すべてのルールを1つの.htaccessファイルに追加した方が簡単です。

WordPressの.htaccessファイルの一例

デフォルトでは、WordPressサイトの.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ファイルの一例を示します…

カスタムルールを含むWordPress .htaccessファイルの一例
カスタムルールを含むWordPress .htaccessファイルの一例

.htaccessを使用しないKinstaで変更を加えるには

上記で説明したように、KinstaはApacheではなくNginx ウェブサーバーを使用します。つまり、KinstaでホストされているWordPressサイトには、機能する.htaccessファイルはありません

ただし、リダイレクトやセキュリティルールなどの同様のアクションを実行できないわけではありません。.htaccessファイルの設定やルールは、Nginx独自の書き換えルール構文に簡単に変換できます。

Kinstaは、多くの重要な.htaccess機能と同様な用途のダッシュボードツールを多数提供しています。その他のルールについては、構文は異なりますが、Nginxには同様にルールを設定できる独自の設定ファイルがあります。

リダイレクトを設定する

Kinstaでホストされているサイトのリダイレクトを作成するには、MyKinstaダッシュボードのリダイレクトツールを使用します。

Kinstaのリダイレクトツール
Kinstaのリダイレクトツール

WordPressリダイレクトのベストプラクティスについて、動画での解説をご用意しています。

特定のIPアドレスからのアクセスを禁止する

特定のIPアドレスからのKinstaでホストされているサイトへのアクセスを禁止するには、MyKinstaダッシュボードのIP拒否ツールを使用します。

MyKinstaの「IP制限」ツール
MyKinstaの「IP制限」ツール

サイトをパスワードで保護する

サイト全体をアクセス禁止にするには、MyKinstaダッシュボードのパスワード保護(htpasswd)ツールを使用します。本機能はウェブサイトの「ツール」セクションにあります。「有効にする」をクリックし、ユーザー名とパスワードを選択するだけで準備完了です。

パスワード保護ツールは、CDNエッジキャッシュと互換性がありません。いずれかを利用している場合は、パスワード保護を有効にすることはできません。

htpasswd保護を有効にする
htpasswd保護を有効にする

パスワード保護を有効にした後、WordPressウェブサイトにアクセスするには認証が必要になります。認証情報はいつでも変更でき、必要がなくなったら無効にすることができます。

.htpasswdの認証画面
.htpasswdの認証画面

その他のルールについてはカスタマーサポートまでお気軽にお問い合わせください

Nginx構成ファイルを使用して、サーバーレベルでのフォルダーのパスワード保護画像のホットリンクの無効化など、他の構成ルールを追加することも可能です。

デフォルトでは、Kinstaのお客様にNginx構成ファイルを自分で編集いただけません。一方、顧客サポートまでお問い合わせいただければ、該当のルールを喜んで追加いたします。注:.htaccessをNginxルールに変換することはできません。

まとめ

WordPress .htaccessファイルは、Apacheウェブサーバーで使用される基本設定ファイルです。多目的で使用できますが、WordPressユーザーに最もよく使用される機能は次のとおりです。

  • リダイレクト
  • IPアドレスのブラックリストやホワイトリストへの登録
  • フォルダーのパスワード保護
  • 云々

Kinstaはより新しいNginxウェブサーバーを使用している為、Kinstaをご利用のウェブサイトには.htaccessファイルはありません。MyKinstaダッシュボードの該当のツールを使用してリダイレクトとIP拒否のルールを追加いただけます。その他のルールに関しては、Kinstaのサポートチームが、Nginx構成ファイルにApacheの.htaccessファイルに相当ルールを追加いたします。