ホームページへのアクセスには、アクセスしたパソコンのブラウザやOSの情報が含まれています。この情報をユーザーエージェント(User-Agent)と言います。
ユーザエージェントとは?htaccessでユーザーエージェントの判定することで、特定のブラウザやOS、モバイル(スマートフォンや携帯電話、タブレットなど)からのみアクセスをリダイレクトすることができます。
ただし、ユーザーエージェントは偽装も可能なため必ず正しい情報とは限りません。
以下の自動作成はディレクトリ転送を想定し生成しています。
ディレクトリ転送以外の場合は生成されたhtaccessを加工してください。
① | スマホ 携帯電話 |
|
---|---|---|
OS |
||
ブラウザ |
||
その他 キーワード |
ユーザエージェントに以下のキーワードを含む場合 |
|
② 大文字小文字 |
||
③ リダイレクト先 |
上記条件でリダイレクトするパスを指定してください。 アクセス制限の場合は「アクセス制限(スマホ,OS,ブラウザ)」をご利用ください。 |
|
【入力の意味】 ユーザエージェントの内容が ① に該当(②の基準)する場合は、③ へリダイレクトする |
【注意】生成されたhtaccessは保証しておりません。必ず、動作確認を行ってからご利用ください。
ユーザエージェントについては「ユーザエージェントとは?」をご確認ください。
SetEnvIf User-Agent "iPhone" ua_device=smart SetEnvIfNoCase User-Agent "Android" ua_device=smart SetEnvIf User-Agent "Safari" ua_browser=safari RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} !^mobile/.*$ RewriteCond %{ENV:ua_browser} safari [OR] RewriteCond %{ENV:ua_device} smart RewriteRule ^(.*)$ mobile/$1 [R,L]
上記は次を意味しています 「iPhone」「Andoroid」端末 または 「Safari」ブラウザ からのアクセスを「/mobile/」にリダイレクトする。 RewriteCondを以下のように変更すると解釈が変わります。
RewriteCond %{REQUEST_URI} !^mobile/.*$
RewriteCond %{ENV:ua_browser} safari [OR]
RewriteCond %{ENV:ua_device} smart
とした場合、「iPhone」「Andoroid」端末 かつ「Safari」ブラウザを「/mobile/」にリダイレクトする。 |
|
SetEnvIf SetEnvIfNoCase |
SetEnvIf User-Agent "iPhone" ua_device=smart
|
---|---|
RewriteEngine |
Rewrite機能の使用(ON)と未使用(OFF)を指定します |
RewriteBase |
Rewrite処理のベースになるパスを指定します |
RewriteCond |
RewriteCond %{REQUEST_URI} !^mobile/.*$
RewriteCond %{ENV:ua_browser} safari [OR]
|
RewriteRule |
RewriteRule ^(.*)$ mobile/$1 [R,L] 「RewriteCond」で該当する場合に、リダイレクトするURI情報を指定します
|