• 締切済み

スマホからのアクセスをリダイレクト

とあるファイルにアクセスすると別のサイトにリダイレクトされるサイトがあります。 私のサイトではないため、どのような方法で設定しているかは分かりません。PHPではなくJavascriptや.htaccessなどで設定している可能性もあります。ただこちらのカテの方がプログラムに詳しい方が多いと思ったので。 なので回答も憶測で構いません。皆さんの豊富な経験からどのような事が考えられるのかお聞きしたいです。 例えば『 http://×××.com/ka/ 』(ロリポップサーバー使用)というURLにアクセスすると『http://○○○.info/』(日本語ドメイン使用)というサイトにリダイレクトされます。 PCからは正常にPC用のサイトにリダイレクトされるのですが、私のスマホ(Android(SO-04E))からアクセスするとリダイレクトされず真っ白になります。iPhoneからのアクセスは正常にスマホ用のページにリダイレクトされます。 これはどのような事が考えられるでしょうか?前述の通り、憶測で構いません。 コードの記述にミスがあるんじゃないのか?と言われればそれまでですが。何か原因は考えられるでしょうか? ご存知の方いらっしゃいましたらご教示ください。 よろしくお願いします。

みんなの回答

  • nazal2010
  • ベストアンサー率54% (12/22)
回答No.1

仰るようにJavaScriptやhtaccessでも設定は出来ると思いますが、 以前クライアントからPCでアクセスした場合と、スマホでアクセスした場合に それぞれ反映される内容(HTMLやCSS等)を変えて欲しいという 要望がありましたので、PHPでユーザエージェントを取得して、正規表現で 条件分岐を行って振り分けていました。 今回のケースだと『 http://×××.com/ka/ 』にアクセスした場合に、 ユーザエージェントを取得して、正規表現を使用する場合に(Android(SO-04E))の 処理をし忘れたか、構築途中ということも考えられませんか? 参考URLのユーザエージェント一覧表に記載されているように、 これらのユーザエージェント全てを条件分岐するとなると、非常に時間や 労力がかかってしまいますし、新機種が発売されると新機種のユーザエージェントを 追加処理しなければいけないという厄介な作業が増えます。 そのため、例えばユーザエージェントを取得したら、【 Android 】という 文字列が含まれている場合は、スマホ用のページに飛ばすという処理を行えば 良いかと思います。【 iPhone 】も同様に。 PHPやJavaScriptやhtaccess・・・どの様な言語やファイルを使用するにしても 恐らく考え方は一緒だと思います。

参考URL:
http://www.openspc2.org/userAgent/

関連するQ&A