mod_rewiteを使用したスマホとPCの振り分けについて


http://www.anothersky.pw/skyward/archives/000094.html
こちらのサイトを参考にモバイルとPCの振り分けが実現できました。
ただ、このケースだとPCからもモバイルページが見られるようになっています。

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/spn/.*$
RewriteCond %{HTTP_USER_AGENT} (iPhone|iPod|Android|BlackBerry|Windows.Phone) [NC]
RewriteCond %{HTTP_USER_AGENT} !iPad [NC]
RewriteCond %{HTTP_COOKIE} !viewmode=pc
RewriteRule ^(.*)$ /spn/$1 [R=301,L]


そこで、PC(モバイル以外)がスマホページにアクセスした場合に自動的にPCページに転送するにはどうしたら良いのでしょうか?
http://www.aaa.com/spn/aa.htmlhttp://www.aaa.com/aa.html

当方が試してみると、無限ループになってしまい困っています。
よろしくお願いいたします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/05/09 19:24:05
  • 終了:2014/05/11 09:01:58

ベストアンサー

id:snow0214 No.3

snow0214回答回数470ベストアンサー獲得回数1162014/05/10 15:51:19

ポイント95pt

これでどうでしょう。

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} !iPhone [NC]
RewriteCond %{HTTP_USER_AGENT} !iPod [NC]
RewriteCond %{HTTP_USER_AGENT} !Android [NC]
RewriteCond %{HTTP_USER_AGENT} !BlackBerry [NC]
RewriteCond %{HTTP_USER_AGENT} !Windows.Phone [NC]
RewriteRule ^spn/(.*)$ $1 [R=301,L]
id:jamis

回答ありがとうございます。

なるほど、クッキー云々ではなくて、モバイルフォルダ以下にPCが入れないようにしたら解決するんですね。
目的の結果になりました。

2014/05/10 16:06:16

その他の回答(2件)

id:sasada No.1

sasada回答回数1482ベストアンサー獲得回数1332014/05/09 20:02:35

ポイント5pt
#RewriteEngine On
RewriteCond %{REQUEST_URI} ^/spn/.*$
RewriteCond %{HTTP_USER_AGENT} !(iPhone|iPod|Android|BlackBerry|Windows.Phone) [NC][OR]
RewriteCond %{HTTP_USER_AGENT} iPad [NC][OR]
RewriteCond %{HTTP_COOKIE} viewmode=pc
RewriteRule ^/spn/(.*)$ $1 [R=301,L]

でいかがでしょうか。

他4件のコメントを見る
id:jamis

ありがとうございます。
動作検証はひとつひとつ行っています。
何か構文に間違いがあるのでしょうか?

2014/05/10 20:44:15
id:sasada

構文間違い一カ所は分かりました。[NC][OR]→[NC,OR]
今は自宅なので、動作確認が出来ないのが、申し訳ないです。

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/spn/.*$
RewriteCond %{HTTP_USER_AGENT} !(iPhone|iPod|Android|BlackBerry|Windows.Phone) [NC,OR]
RewriteCond %{HTTP_COOKIE} viewmode=pc
RewriteRule ^/spn/(.*)$ $1 [R=301,L]

2014/05/10 23:30:03
id:watercooler No.2

井戸端さん回答回数289ベストアンサー獲得回数512014/05/10 06:33:03

どうかしら?

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^spn/.*$
id:jamis

回答ありがとうございます。
うーん。思ったようにはならないですね。

2014/05/10 09:23:46
id:snow0214 No.3

snow0214回答回数470ベストアンサー獲得回数1162014/05/10 15:51:19ここでベストアンサー

ポイント95pt

これでどうでしょう。

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} !iPhone [NC]
RewriteCond %{HTTP_USER_AGENT} !iPod [NC]
RewriteCond %{HTTP_USER_AGENT} !Android [NC]
RewriteCond %{HTTP_USER_AGENT} !BlackBerry [NC]
RewriteCond %{HTTP_USER_AGENT} !Windows.Phone [NC]
RewriteRule ^spn/(.*)$ $1 [R=301,L]
id:jamis

回答ありがとうございます。

なるほど、クッキー云々ではなくて、モバイルフォルダ以下にPCが入れないようにしたら解決するんですね。
目的の結果になりました。

2014/05/10 16:06:16

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません