« 関西風お好み焼き | メイン | Internet Explorer7でマイコンピュータのHTMLファイルにアクセスしたときの情報バーを消す »

.htaccessでCSSファイルへのアクセスを制限する

ホームページ・ビルダーではじめてのWebサイト作成」で使っている、.htaccessでのCSSファイルへのアクセス制限は以下のような感じ。User-Agentをみて、NetscapeとInternet Explorer 5.xまでのバージョンに対して、CSSファイルへアクセス拒否している。MacIEも含める。

<Files toppage.css>
	SetEnvIf User-Agent "NetFront" deny_ua
	SetEnvIf User-Agent "MSIE 5" deny_ua
	SetEnvIf User-Agent "MSIE 4" deny_ua
	SetEnvIf User-Agent "MSIE 3" deny_ua
	order allow,deny
	allow from all
	deny from env=deny_ua
</Files>
<Files style.css>
	SetEnvIf User-Agent "NetFront" deny_ua
	SetEnvIf User-Agent "MSIE 5" deny_ua
	SetEnvIf User-Agent "MSIE 4" deny_ua
	SetEnvIf User-Agent "MSIE 3" deny_ua
	order allow,deny
	allow from all
	deny from env=deny_ua
</Files>

*.cssとしていないのは、プリント用のCSSファイルに対しては制限をかけていないから。Netscape4はおなじみのlink要素によるHackを利用。

UA振り分けのリスクとして、偽装やUAを吐き出さないことによるUA判別できない場合がある。前者は完全に自己責任だからいいのだが、後者はそうもいかない。特に困るのがNorton Internet Security2006までで、UAを吐き出さないようにしている場合。2007からはこの機能なくなったので、UA判別派にはありがたい。

.htaccessによるアクセス制限ができない場合は、JavaScriptを使ったUA判別やCSS Hackを駆使するしかない。

WWWサーバーに関する知識を持つことで、Hackを少なくして、CSSのメンテナンスが楽になればいいんじゃないかと思う。

トラックバック

このエントリーのトラックバックURL:
http://hpbuilder.net/weblog/tb-hpb.cgi/2387

コメントを投稿

書いている人

About

2007年02月22日 12:00に投稿されたエントリーのページです。

1つ前のエントリー:「関西風お好み焼き

次のエントリー:「Internet Explorer7でマイコンピュータのHTMLファイルにアクセスしたときの情報バーを消す

おさんぽさんぽ・メインページへ