- ベストアンサー
.htaccessで携帯とPCの振り分け
- .htaccessで携帯サイトとPCサイトの振り分け方法について困っています。PCからのアクセスは正常ですが、携帯からのアクセスで一部のページがPCサイトにつながってしまいます。携帯サイトのindex.htmlに正しく導くにはどうすればいいでしょうか?
- また、PCサイトの各ページへのアクセスで携帯から来た場合は、携帯サイトの対応するページにリダイレクトする方法はありますか?初心者ですので、わかりやすく教えていただけると助かります。
- お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>RewriteRule ^$ /mobile/[R=302,L] この行は、「RewriteRule (正規表現) (置換パターン)」という記述方法をします。 「^$」という正規表現は、「行頭(^)の後ろがすぐ行末($)である」すなわち「行内に何も含まれない」 →ドメイン名のみの指定で、パス部分に記述のないパターン (例: http://abc.com/) ということを表しています。 それで、そのRewriteRuleでは、http://abc.com/ → http://abc.com/mobile/ に飛ばされるというわけです。 ですから、index.html である場合の行も追加すれば、ひとまずは解決です。 →RewriteRule ^/index.html$ /mobile/index.html [R=302,L] ---- 正規表現では、動的なパターンを表現できます。 しかし今回のように同サーバ内で飛ばすのは少々難しいですね…(私の考えた限り) RewriteRule ^/(.*)$ /mobile/$1 [R=302,L] とすると、最初の1回は http://abc.com/index.html → http://abc.com/mobile/index.html に飛んでくれそうです。 でも、そこから他のページ(同ディレクトリpage2.html)に飛ぼうとしたとき、 http://abc.com/mobile/page2.html → http://abc.com/mobile/mobile/page2.html と二重に書き変わってしまってうまくありません。 http://abc.com/なんとか.html を、別ドメインhttp://xyz.com/mobile/なんとか.html に飛ばすのであれば、上記みたいな感じで良さそうですが…。
その他の回答 (2)
- pc-biginer-desu
- ベストアンサー率13% (3/22)
.htaccessは上書きが出来るよね。たしか
- pc-biginer-desu
- ベストアンサー率13% (3/22)
ポリンキーですな。 >どのようにしたらよいのでしょうか。 回答=正しく書き換えればうごきます。 以上ポリンキーですな