2022年6月にサポートが終わると言われているIEですが、私の周りにはいまだに無理やりIEを使い続けているクライアントさんもちらほらいます。
技術もどんどん新しくなり色々と試してみたかったりしてもIEに対応できないからという理由で、できなかったり、IE用にハックさせなければいけなかったり、書かなきゃいけないコードが増えたり、、、gulpやSassのコンパイル時にプラグインでどーこーしてしまうなどの方法もありますが、完全にはカバーしきれなかったりもします。
いつまでもIE対応で工数が増えてしまい、予算も増えてしまっていてはクライアントにとっても、制作者にもわるいと思いますので、最近見かけるようになってきた「IEには対応していません」ページを作成して対応してしまおうと考えた記事になります。
IEの場合のみにリダイレクトさせるコードはコチラ
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} (MSIE|Trident) [NC]
RewriteRule .* http://www.example.com/ [R=301,L]
色々と試してみましたが、私はこの形で使用しています。
簡単な解説
ブラウザの指定
RewriteCond %{HTTP_USER_AGENT} (MSIE|Trident) [NC]
ブラウザを指定している部分です。
色々と調べてみると色々なユーザーエージェントの指定の仕方がありますが、MSIEだけではどーしてもうまくいかなかったのでTridentを追加して使用しています。
書き換えればIE以外を指定することもできます。
- Safari
- Chrome
- Firefox
- Opera
私は使用したことがないですが、MSIE|Tridentの部分を書き換えれば他のブラウザを指定することもできるようです。
※デバイスを指定することもできます。
IE対応していませんページのURL(リダイレクト先)
RewriteRule .* http://www.example.com/ [R=301,L]
リダイレクト先のURLを指定するところです。
302でもいいかと思ったのですが、私は今後一切対応して溜まるかという気持ちも込めて301リダイレクトでおこなっています。
まとめ
クライアントにも、対応しない旨や将来を考えたサイト作りであったり、対応しない代わりにお値引きをするなど、しっかり話し合ったうえでこういった対応をすることで、全員が幸せな結果に繋げる事もできるかと思います。
沢山のIEようのCSSを用意してもサポートが終わってからは無駄なコードとなってしまい、文字ベースとはいえ通信の負担にもなってしまいます。
世の中的に将来の事を考え後ろ向きではなく、前向きにIEを卒業していける案件が増えていったら嬉しく思います。