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

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

さまざまな .htaccess の使い方(Apache プラン)

Apache プランでは .htaccess を使用することで、公開サイトのさまざまな運用ポリシーに対して柔軟に対応できます。(nginx プランでは .htaccess をご利用になれません)

IP アドレスなどでのアクセス制限や Basic 認証の設定、URL リダイレクトについては以下をご参照ください。

そのほかにも、以下のような対応をおこなうことも可能です。(各項目の設定例は目的に合わせて値を適宜変更してください)

レスポンスヘッダーに Strict Transport Security(HSTS)を追加する
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"
レスポンスヘッダーに Content Security Policy(CSP)を追加する
Header set Content-Security-Policy "default-src 'self';"
レスポンスヘッダーに Cross-Origin Resource Sharing(CORS)を追加する
Header set Access-Control-Allow-Origin "https://www.example.com"
レスポンスヘッダーに X-Frame-Options を追加する
Header append X-Frame-Options SAMEORIGIN
レスポンスヘッダーに X-XSS-Protection を追加する
Header set X-XSS-Protection "1; mode=block"
レスポンスヘッダーに X-Content-Type-Options を追加する
Header set X-Content-Type-Options nosniff
特定の IP アドレスのみサイトアクセスを許可し、許可したアクセスに対して Basic 認証をおこなう
Require all denied

<RequireAll>
  <RequireAny>
    Require ip xx.xx.xx.xx
  </RequireAny>

  AuthUserFile /data/file/static/.htpasswd
  AuthName "Please enter your ID and password"
  AuthType Basic
  require valid-user
</RequireAll>

<Files ~ "^\.ht">
  Require all denied
</Files>

※Require ip に指定する IP アドレスは実際に許可するものを指定してください。
※.htpasswd ファイルを /data/file/static ではない場所に配置した場合は、AuthUserFile のパスも変更してください。

初期ドメインや IP アドレスでのサイトアクセスを禁止する

Movable Type クラウド版をご契約いただくと、xxxx.movabletype.biz といった初期ドメインが割り当てられます。この初期ドメインは管理画面へのアクセスだけでなく、サイトを公開することも可能です。独自ドメインでサイトを公開する場合には不要ですが、運用ポリシーによっては、管理画面と併用する初期ドメインに対して、公開サイトとしてのアクセスそのものを拒否したいといったケースも考えられます。

その場合は /data/file/static ディレクトリ直下に .htaccess を設置し、以下のように記述を加えることでアクセスを拒否することができます。(403 エラーページが表示されます)

RewriteEngine on

RewriteCond %{HTTP_HOST} (xxxx.movabletype.biz|xxx.xxx.xxx.xxx)
RewriteRule ^ - [F]

※(xxxx.movabletype.biz|xxx.xxx.xxx.xxx) の部分にはご利用の Movable Type クラウド版の初期ドメインと IP アドレスを記述します。

アクセス拒否ではなく、ほかのサイトにリダイレクトさせることも可能です。以下は初期ドメインへのアクセスを https://www.sixapart.jp/ にリダイレクトする設定例となります。

RewriteEngine on

RewriteCond %{HTTP_HOST} (xxxx.movabletype.biz|xxx.xxx.xxx.xxx)
RewriteRule ^(.*)$ https://www.sixapart.jp/$1 [R=301,L]

※いずれも公開サイトでのみ有効です。管理画面へのアクセスに影響はありません。

拡張子なしの URL で「.html」ファイルへのアクセスを可能にする
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ $1.html