Movable Type CMSプラットフォーム Movable Type
ドキュメントサイト

Cloud Documentクラウド版 ドキュメント

公開サイトのアクセス制限(Apache プラン)

Apache プランでは、.htaccess ファイルを配置することで 公開サイトのアクセス制限をおこなうことができます。(nginx プランのような管理画面上のメニューはなく、管理画面から公開サイトのアクセス制限をおこなうことはできません)

アクセス制限を設定する

アクセス制限に関する設定を記述した .htaccess ファイルを作成し、アクセス制限を掛けたいディレクトリに FTPS でアップロードします。設定例は次の通りです。

特定の IP アドレスやホストのみを許可(ホワイトリスト形式)

Require ip にはアクセスを許可する IP アドレスを、Require host にはアクセスを許可するホストを 1 行ずつ指定します。

Require all denied
Require ip xxx.xxx.xxx.xxx
Require host example.com
特定の IP アドレスやホストのみを拒否(ブラックリスト形式)

Require not ip にはアクセスを拒否する IP アドレスを、Require not host にはアクセスを拒否するホストを 1 行ずつ指定します。

<RequireAll>
  Require all granted
  Require not ip xxx.xxx.xxx.xxx
  Require not host example.com
</RequireAll>

上記の内容は、以下のように書くこともできます。(どちらの書き方でも挙動はまったく同じです)

<RequireAll>
  Require all granted
  <RequireNone>
    Require ip xxx.xxx.xxx.xxx
    Require host example.com
  </RequireNone>
</RequireAll>
条件付きアクセス制限

アクセス制限には、IP アドレスだけではなくユーザーエージェントを利用することもできます。たとえば、Internet Explorer だけアクセスを許可する場合には次のように記述します。

SetEnvIf       User-Agent "Windows"         windows
SetEnvIf       User-Agent "Mac.*OS"         macos
SetEnvIf       User-Agent "Chrome"          chrome
SetEnvIfNoCase User-Agent "Safari"          safari
SetEnvIfNoCase User-Agent "(MSIE|Trident)"  ie

Require all denied
Require env ie

上記の内容は、以下のように書くこともできます。(どちらの書き方でも挙動はまったく同じです)

Require all denied
Require expr %{HTTP_USER_AGENT} =~ /(MSIE|Trident)/

※S4ia / S4ia7 以上のプランをご利用の場合は、static ディレクトリ直下にドメイン名をもとにしたサブディレクトリが作成されています。リダイレクト設定を掛けるディレクトリがどこにあるかは、Movable Type クラウド版の管理画面から親サイト(ウェブサイト)のサイトパスを確認してください。