[htaccess]環境変数 – https://統一、及びBOT拒否、ガラケーアクセスを退避、特定ディレクトリを非SSL化をまとめてhtaccessで実装

全ページhttps化が進む中、httpでのアクセスを⇒httpsに統一するためのhtaccessの設定です。
今回はBOTアクセス拒否や、ガラケー端末のリダイレクトもまとめて記載してみます。
BOTや、ガラケー、スマホ端末のユーザーエージェントをその時期の状況に合わせて、列挙する感じになるのですが、
htaccessで使える環境変数を使って、今後未来に追加が必要になりそうなユーザーエージェントを変数にしてしまうと後のメンテナンスの際に1行修正すればよいようにできそうです。
# 環境変数 BOT系
SetEnvIf User-Agent "^(Wget|WeBoX|Sogou webspider|Snapbot|Moreoverbot|HappyFunBot)" UA=bot
# 環境変数 携帯&スマホ
SetEnvIf User-Agent "^(DoCoMo|KDDI|DDIPOKET|UP\.Browser|J-PHONE|Vodafone|SoftBank)" UA=mobile
SetEnvIf User-Agent "(iPhone|Android.*Mobile|Windows.*Phone)" UA=sp
# 環境変数 非SSL対象ディレクトリ
SetEnvIf REQUEST_URI "^/mobile/.*$" DIR=move_dir

RewriteEngine on
# BOT拒否
RewriteCond %{ENV:UA} bot$
RewriteRule ^.* - [F]

# 携帯アクセス リダイレクト
RewriteCond %{ENV:UA} mobile$
RewriteCond %{ENV:DIR} !move_dir$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/mobile/error.html [R,L]

# 特定ディレクトリ以外 https化
RewriteCond %{HTTPS} off
RewriteCond %{ENV:DIR} !move_dir$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

SSL証明書は、セキュリティ向上のため古いプロトコルや設定(SSL3.0やTLS1.0など)ではアクセスできない仕様になってきています。そのためガラケー端末の多くはhttpsサイトが見れなくなっていく可能性が高く、ガラケーアクセスや、ガラケー用ページは、閉鎖やサポート打ち切りになってきています。
全ページhttps化すると、これまでガラケーでみれてたのに、突然見れなくなるというケースも出てきます。
利用者はかなり少ないので影響も小さいですが、できるだけ親切にする場合は、https統一の処理の前に、ガラケーアクセスを非SSLのページへ誘導させるようにして、https未対応の端末でも、エラー表示を回避でき何かしらの情報が掲載されたページをみることができると思います。クレーム減少にも期待できますかね。。※ガラケー(フューチャーフォン)

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください