質問: スマホからのアクセスを振り分けるには スマホからの訪問があったときに、固有のページに飛ばしたいと考えています。 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では無理でしょうか。 よろしくお願いいたします。
回答: 念のため、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件目です。一度、質問される前に検索をされたほうが早く解決できることもあるかと思います。