ブログやウェブサイトですぐに役立つ「.htaccess」の設定のまとめ

ブログやウェブサイトのパフォーマンス改善や運営・セキュリティに役立つ「.htaccess」の設定を紹介します。

サイトのキャプチャ

.htaccess Files for the Rest of Us

下記は各ポイントを意訳したものです。

リダイレクトとリライト

リダイレクト

サイトを移転したなど、永続的なリダイレクトには「HTTP301リダイレクト」で設定します。
転送先のURLは絶対URLで指定します。

Redirect 301 ^old\.html$ http://ドメイン/new.html

リライト

リライト(書き換え)をする場合は、下記のようになります。

RewriteEngine on
RewriteRule ^old\.html$ new.html

オプションに「R=301」をつけると永続的なリダイレクトします。
※一時的なリダイレクト(302)は「R=302」にします。

RewriteRule ^old\.html$ http://ドメイン/new.html [R=301]

www付きを無しにする場合は、下記のようになります。
例:www.coliss.comをcoliss.comに

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.coliss.com [NC]
RewriteRule ^(.*)$ http://coliss.com/$1 [L,R=301]

オリジナルのエラーページ

エラー時(404)に表示するページを設定します。
例:エラーページを/404.htmlに設定

ErrorDocument 404 "/404.html"

特定のリソースへのアクセス制限

特定のディレクトリのアクセスをパスワードで制限します。
パスワードは「.htpasswd」で設定します。
「Username and password required」はパスワード入力時に表示されるメッセージです。

AuthName "Username and password required";
AuthUserFile /path/to/.htpasswd
Require valid-user
AuthType Basic

特定のファイルのみ制限する場合は、下記のようになります。
例:protectedfile.htmlのみ制限

<Files "protectedfile.html">
AuthName "Username and password required";
AuthUserFile /path/to/.htpasswd
Require valid-user
AuthType Basic
</Files>

特定のIPのアクセス阻止

指定したIPからのアクセスを阻止します。
例:192.168.0.1のアクセスを制限

order allow,deny
deny from 192.168.0.1
allow from all

IEのレンダリングモードの設定

IEの互換モードを排除します。

Header set X-UA-Compatible "IE=Edge"

これを必要としないファイル(JSファイルや画像など)に置くことを避けるには、下記のようにします。

<FilesMatch ";\.(js|css|gif|png|jpe?g|pdf|xml|oga|ogg|m4a|ogv|mp4|m4v|webm|svg|svgz|eot|ttf|otf|woff|ico|webp|appcache|manifest|htc|crx|xpi|safariextz|vcf)$">
  Header unset X-UA-Compatible
</FilesMatch>

有効期限を設定してトラフィックを軽減

リソースの有効期限を設定することで、ブラウザのリクエストで変更されていないリソースを求めるのを阻止し、キャッシュを有効活用しトラフィックの軽減に繋がります。
下記は、画像や動画・音声ファイルの有効期限を1ヵ月に設定したものです。

ExpiresActive on
ExpiresByType image/gif                 "access plus 1 month"
ExpiresByType image/png                 "access plus 1 month"
ExpiresByType image/jpg                 "access plus 1 month"
ExpiresByType image/jpeg                "access plus 1 month"
ExpiresByType video/ogg                 "access plus 1 month"
ExpiresByType audio/ogg                 "access plus 1 month"
ExpiresByType video/mp4                 "access plus 1 month"
ExpiresByType video/webm                "access plus 1 month"

gzip圧縮の利用

これはApache2.1+の機能でDEFLATE圧縮アルゴリズムを使い、指定したファイルを圧縮します。
下記は、テキスト、HTML、JS、CSSファイルをgzip圧縮して使用します。

FilterDeclare Comp CONTENT_SET
FilterProvider Comp DEFLATE resp=Content-Type $text/plain
FilterProvider Comp DEFLATE resp=Content-Type $text/html
FilterProvider Comp DEFLATE resp=Content-Type $application/javascript
FilterProvider Comp DEFLATE resp=Conten-Type $text/css
FilterChain Comp

それより古いバージョンでは、mod_deflateモジュールを利用します。

SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/javascript

top of page

Trackback

leave your Comments

※承認制のため、即時には反映されません。
※匿名、通りすがりさんなどへの回答は控えさせていただきます。

Comments

企業のWEB担当者様に教えたい「.htaccess」とは? | FSCI.jp

on 2012年1月26日

[...] ブログやウェブサイトですぐに役立つ「.htaccess」の設定のまとめ var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-28392202-1']); _gaq.push(['_setDomainName', 'fsci.jp']); _gaq.push(['_trackPageview']); (function() { [...]

2012年1月25日 Webニュース記事まとめ | developer's blog

on 2012年1月26日

[...] ブログやウェブサイトですぐに役立つ「.htaccess」の設定のまとめ [...]

ブログやウェブサイトですぐに役立つ「.htaccess」の設定のまとめ | コリス | tksystem

on 2012年1月26日

[...] | コリス 投稿日: 2012年1月26日 投稿者: makoto.takiuchi http://coliss.com/articles/build-websites/operations/htaccess-files-for-the-rest-of-us-by-net-tutspl... Share this:TwitterFacebookLike this:Like一番乗りで「Like」しませんか。 [...]

ブログやウェブサイトですぐに役立つ「.htaccess」の設定のまとめ | コリス at ナカツジブログ

on 2012年1月27日

[...] ブログやウェブサイトですぐに役立つ「.htaccess」の設定のまとめ | コリス. [...]

御飯定食 | Twitterでのつぶやき [1/22-28] #gohanset

on 2012年1月31日

[...] 1/27 14:29φ(._. )メモしておこう。 コリス 『ブログやウェブサイトですぐに役立つ「.htaccess」の設定のまとめ』 [...]

ブログやウェブサイトですぐに役立つ「.htaccess」の設定の | 備忘録

on 2012年2月11日

[...] ブログやウェブサイトですぐに役立つ「.htaccess」の設定のまとめ | コリス [...]

top of page

©2011 coliss