Expiresヘッダ設定テンプレート

さくらのレンタルサーバーやCPIのACE01では、.htaccessでExpiresヘッダの設定ができる。以下テンプレート。調整しながら利用する。


.htaccess


# Correction MIME Type(CPI ACE01)
AddType image/vnd.microsoft.icon .ico

<ifModule mod_expires.c>
	ExpiresActive On
	ExpiresDefault "access plus 1 seconds"
	ExpiresByType image/x-icon "access plus 3 days"
	ExpiresByType image/vnd.microsoft.icon "access plus 3 days"
	ExpiresByType image/jpeg "access plus 3 days"
	ExpiresByType image/png "access plus 3 days"
	ExpiresByType image/gif "access plus 3 days"
	ExpiresByType text/css "access plus 3 days"
	ExpiresByType text/javascript "access plus 3 days"
	ExpiresByType application/x-javascript "access plus 3 days"
	ExpiresByType text/html "access plus 600 seconds"
</ifModule>

サイトメンテナンスに使った.htaccess設定

Wordpressを利用したサイトに不正なコードが挿入されており、他社からの依頼でそのサイトをメンテナンスする際に利用した.htaccess設定。本来であればオフラインにして修復すべき。


admin.htmlにアクセスするとCookieが設定され、通常通りサイトにアクセスが可能。サイトの再審査用にGooglebotもアクセス可能にする。その他のアクセスはメンテナンス中ページに転送する。


.htaccess


RewriteEngine On
RewriteCond %{REQUEST_URI} !^/(phpMyAdmin|admin.html|maintenance.html)
RewriteCond %{HTTP_USER_AGENT} !Googlebot [NC]
RewriteCond %{HTTP_COOKIE} !user=admin
RewriteRule ^.*$ /maintenance.html [R=302,L]

特定の条件に合致した場合にアクセスを許可・不許可にする

SetEnvIfを用いると、HTTPリクエストヘッダフィールドを元に環境変数を定義することができ、アクセス許可・不許可の設定が可能になる。詳細は、Apacheのmod_setenvifを参照。次のコードはAjaxを用いたリクエストの場合のみ、JSONファイルへのアクセスを許可する例。


「特定の条件に合致した場合にアクセスを許可・不許可にする」の続きを読む