ホームページへのアクセスには、アクセスしたパソコンのブラウザや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情報を指定します
|