みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

.htaccessで携帯サイトとPCサイトの振り分けについて

.htaccessで携帯サイトとPCサイトの振り分けについて

お世話になります。
.htaccessで携帯サイトとPCサイトの振り分けで困っています。

現在、index.phpで携帯サイトとPCサイトの振り分けしています。この場合、PCサイトのトップページがindex.htmlではなく他の名前にしなくてはならないようで、現在はpc.htmlにしています。

どうにかpc.htmlではなく、index.htmlのまま携帯サイトとPCサイトの振り分けをしたいのです。

.htaccessであればできそうなので、いろいろと調べながら試したのですがうまくいきませんでした。
使用しているサーバーはさくらのレンタルサーバーで、ライトプランです。
mod_rewriteは入ってると記載してありました。.htaccessもOKなようです。

以下のように.htaccessファイルに記述して試しました。

例1)
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^DoCoMo [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^vodafone [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^SoftBank [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^KDDI [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^J-PHONE [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Up.Browser [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^ASTEL [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^DDIPOCKET [NC]
RewriteRule ^$ abc.com/m/ [R]


例2)
Options +FollowSymLinks
RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} DoCoMo
RewriteRule ^$ http://www.abc.com/m/index.html [R]

RewriteCond %{HTTP_USER_AGENT} J-PHONE
RewriteRule ^$ http://www.abc.com/m/index.html [R]

RewriteCond %{HTTP_USER_AGENT} UP.Browser
RewriteRule ^$ http://www.abc.com/m/index.html [R]

素人ですので、できましたら記述全文教えていただけるとありがたいです。
宜しくお願い致します。

投稿日時 - 2010-07-10 22:11:26

QNo.6029474

すぐに回答ほしいです

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

>index.htmlにしたい理由があります。

いや、だから index.html にすれば良いんじゃないですか?
だれも駄目なんて言ってないし。
今まで通り index.php で PC サイトとモバイルサイトの振り分けを行いうんだけども、PC サイトのホームページを index.html にすれば宜しいのではありませんか?と前回書いたつもりだったんですがね。
ただそうすると大概のサーバーでは index.html を index.php より優先度の高いデフォルトファイルとして扱ってしまうはずだから、 .htaccess で index.php を最高位のデフォルトファイルにしましょうよ、って話。そうすればディレクトリ名で終わる URL でアクセスしても一番最初に index.php で振り分けする事が可能でしょ?

投稿日時 - 2010-07-11 22:00:04

お礼

hujitomoさん、天才ですね!
できました><;
ありがとうございました。

投稿日時 - 2010-07-12 23:02:23

このQ&Aは役に立ちましたか?

5人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

現在設置している index.php で振り分けができているんですよね?
だったらわざわざ .htaccess で振り分けなくてもそのまま php を使うのが宜しいかと。

>他の名前にしなくてはならないようで、現在はpc.htmlにしています。

なんで index.html では駄目なのかが解らないなぁ?
index.html が index.php よりも優先的にデフォルトファイルとして扱われるからって事なのかなぁ?だったらそれこそ .htaccess でデフォルトファイルの優先順を変更すれば済む話のような気がします。

DirectoryIndex index.php index.html

みたいな

投稿日時 - 2010-07-11 00:29:54

補足

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

index.htmlにしたい理由があります。

調べた限り、どうしても.htaccessが機能してくれません。
.htaccessの記述に誤りがありましたでしょうか?

できましたら、.htaccessの記述全文教えていただけないでしょうか?

投稿日時 - 2010-07-11 00:47:09

あなたにオススメの質問