読者です 読者をやめる 読者になる 読者になる

PC版とスマートフォン版サイトを自動振り分けする方法

.htaccessファイルを使ってアクセス先を自動振り分けする方法

前提条件

(1) SPディレクトリが、PCディレクトリのサブディレクトリになっている。
(例)
 PCサイト : http://example.com/
 SPサイト : http://example.com/sp/


(2) 同一ページは同一のファイル名になっている。
(例)
 PCサイト : http://example.com/sample.html
 SPサイト : http://example.com/sp/sample.html



《bizフォルダー内にspフォルダーを設置する場合》

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (iPhone|Android.*Mobile|Windows.*Phone) [NC]
RewriteCond %{QUERY_STRING} !mode=pc
RewriteRule ^$ /biz/sp/ [R,L]

Header set Vary User-Agent
RewriteRule のオプション
  • [R]
    • 強制的にリダイレクト
  • [L]
    • 書き換えが行われたら終了 (Last) にする
    • 現在の書き換え後の URL が後続のルール によってそれ以上書き換えられることを防止する
  • [F]
    • 強制的にアクセス禁止
    • HTTP レスポンスの「403 : Forbidden」を返す
  • [NC]
    • パターンについて、文字の大小を区別しない(No Case)。 つまり、"A-Z" と "a-z" は区別しない
link rel="canonical"設定
  • スマートフォンサイトに行う設定
  • 基本的にスマートフォンサイトはPCサイトと同様の内容になっているので、重複コンテンツとして判断されるのを避けるため、canonical設定で『URLの正規化』を行います
<link rel="canonical" href="PC用ページのURL">
  • スマートフォン用のすべてのページにそれぞれ対応するPCサイトのURLを記述します
link rel="alternate"設定
  • alternateはPCサイトに行う設定
  • このページにはスマートフォン用のページがありますと知らせることができます
<link rel="alternate" href="スマホ用ページのURL">
  • スマートフォン用のページがあるすべてのページにそれぞれのURLを記述します

確認方法

f:id:web-design-lesson:20160704002229p:plain

301リダイレクト

  • サイトの移設(ドメインの変更)や、ページのURLを変更する場合に、変更前のURLから変更後のURLへ、ユーザーと検索エンジンを、誘導(転送)するための仕組み