• 締切済み

スマホからのアクセスを振り分けるには

スマホからの訪問があったときに、固有のページに飛ばしたいと考えています。 http://www.hoge.com/へのアクセスはhttp://www.hoge.com/m/ に飛ばすため、 RewriteEngine On Options FollowSymLinks # iPod RewriteCond %{HTTP_USER_AGENT} iPod RewriteRule ^$ /m/ [R] # iPhone RewriteCond %{HTTP_USER_AGENT} iPhone RewriteRule ^$ /m/ [R] # Android RewriteCond %{HTTP_USER_AGENT} android RewriteRule ^$ /m/ [R] としました。 ところが、http://www.hoge.com/のようにディレクトリで飛んできた場合は問題なく動作するのですが、ファイル名指定で来た場合、 例えば http://www.hoge.com/index.html宛にリンクで飛んできた場合は、Rewriteせずにそのまま http://www.hoge.com/index.htmlを開いてしまいます。 http://www.hoge.com/index.htmlに直接リンクされた場合でもスマホだけhttp://www.hoge.com/m/に飛ばす方法はないでしょうか。 .htaccessでは無理でしょうか。 よろしくお願いいたします。

みんなの回答

回答No.1

念のため、RewriteEngine Onのあとに以下の行を追加してみてください。 RewriteBase / Options FollowSymLinks # iPod RewriteCond %{HTTP_USER_AGENT} iPod RewriteRule ^$ /m/ [R]          ・          ・          ・ あと全ての[R]の部分を[R,L]にしたほうがよいと思います。 それでも、できないようでしたら、AllowOverride が設定されていないかも知れませんので ↓↓Apache チュートリアル: .htaccess ファイル↓↓ http://httpd.apache.org/docs/2.2/ja/howto/htaccess.html このページの問題解決を参考に.htaccess ファイルを確認してみてください。 あと同回答がこれで3件目です。一度、質問される前に検索をされたほうが早く解決できることもあるかと思います。

umioyo
質問者

お礼

ご回答ありがとうございます。 ちょっとすぐ確認できないので、月曜日に確認してまたご返答させていただきます。

umioyo
質問者

補足

やってみましたが、変化はありませんでした。 RewriteBaseの重要性はわかりました。 とりあえず、index.htmlをPHPに変えてファイルを読み込まれたときにエージェントを見て飛ばすことにしました。 ありがとうございました。

関連するQ&A