WordPressサイトの.htaccessファイルは、Apacheウェブサーバーで使用される設定ファイルです。Kinstaは、nginxウェブサーバーを利用しているため、Kinstaのお客様が.htaccessファイルを扱うことはありません。

Kinsta以外のホスティングサービスを利用している場合、.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ファイルの一例

Kinstaで同様の操作を実行する方法

冒頭で触れた通り、KinstaではApacheではなくnginxウェブサーバーを使用しています。このため、Kinstaのお客様のWordPressサイトには、.htaccessファイルがありません

リダイレクトやセキュリティルールの追加を行う際、.htaccessファイルの設定やルールは、nginx独自のルール構文に簡単に変換することができます。

Kinstaでは、.htaccessファイルの重要な機能と同等の機能をコントロールパネルに搭載しています。その他のルールについては構文は異なりますが、nginxには同様にルールを設定できる設定ファイルがあります。

リダイレクトを設定する

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

MyKinstaでリダイレクトルールを追加
MyKinstaでリダイレクトルールを追加

WordPressリダイレクトについては動画での解説もご用意しています

特定のIPアドレスをブロックする

特定のIPアドレスからのアクセスをブロックするには、MyKinstaのIP制限ツールを使用します。

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

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

サイト全体のアクセスを制限するには、MyKinstaのパスワード保護(htpasswd)機能を使用することができます。「WordPressサイト」>(サイト名)>「ツール」に移動し、「パスワード保護」セクションの「利用する」をクリックします。あとはユーザー名とパスワードを設定するだけで完了です。

)パスワード保護機能は、CDNおよびエッジキャッシュと互換性がないため、いずれかを使用している場合は利用できません。

MyKinstaでパスワード保護を有効化
MyKinstaでパスワード保護を有効化

パスワード保護を有効にすると、WordPressサイトへのアクセスにはログイン認証が必要になります。認証情報はいつでも変更可能で、不要になれば無効化することもできます。

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

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

nginxの設定ファイルを使用して、フォルダのパスワード保護画像の直リンク禁止などのルールをサーバーレベルで実装することも可能です。

デフォルトでは、お客様がnginxの設定ファイルを編集することはできません。ご要望がございましたら、MyKinstaのライブチャットよりお気軽にご相談ください。なお、.htaccessをnginxルールに変換することはできません。

まとめ

WordPressの.htaccessファイルは、Apacheウェブサーバーで使用される設定ファイルです。さまざまな用途がありますが、主に以下の機能に使用されています。

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

Kinstaでは、より新しいnginxウェブサーバーを採用しているため、Kinstaでホストされるウェブサイトには.htaccessファイルがありません。MyKinstaのツールや機能を使用して、リダイレクトとIP制限のルールを簡単に追加することができます。その他、実装したいルールがある場合は、Kinstaのカスタマーサポートにお気軽にお問い合わせください。スタッフがnginxの設定ファイルにルールを追加します。