「ホームページ・ビルダーではじめての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のメンテナンスが楽になればいいんじゃないかと思う。
