• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:.htaccessで携帯とPCの振り分け)

.htaccessで携帯とPCの振り分け

このQ&Aのポイント
  • .htaccessで携帯サイトとPCサイトの振り分け方法について困っています。PCからのアクセスは正常ですが、携帯からのアクセスで一部のページがPCサイトにつながってしまいます。携帯サイトのindex.htmlに正しく導くにはどうすればいいでしょうか?
  • また、PCサイトの各ページへのアクセスで携帯から来た場合は、携帯サイトの対応するページにリダイレクトする方法はありますか?初心者ですので、わかりやすく教えていただけると助かります。
  • お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • asciiz
  • ベストアンサー率70% (6803/9674)
回答No.2

>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.htmlhttp://abc.com/mobile/index.html に飛んでくれそうです。 でも、そこから他のページ(同ディレクトリpage2.html)に飛ぼうとしたとき、 http://abc.com/mobile/page2.htmlhttp://abc.com/mobile/mobile/page2.html と二重に書き変わってしまってうまくありません。 http://abc.com/なんとか.html を、別ドメインhttp://xyz.com/mobile/なんとか.html に飛ばすのであれば、上記みたいな感じで良さそうですが…。

その他の回答 (2)

回答No.3

.htaccessは上書きが出来るよね。たしか

回答No.1

ポリンキーですな。 >どのようにしたらよいのでしょうか。 回答=正しく書き換えればうごきます。 以上ポリンキーですな

関連するQ&A