人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Webサイトのページ遷移がiPhoneの場合うまく行かない。


ホームページhttp://proc123.no-ip.biz

の各リンクをクリックするのですが、
PC/タブレット(Android/iPad)/Androidスマホではうまく遷移するのですが、
iPhoneだけはクリックして遷移しないのです。

普通のフォルダの他に"sp"というフォルダを作って、そこに全ての他のフォルダの
内容を入れてみました。

いろいろ試したのですが、遷移したり遷移しなかったりするのです。

http://allabout.co.jp/gm/gc/386483/
をみて、

Webページのルートに.htaccessを置いて
.htaccess
--------------------------------------------------------------
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (iPhone|Android.*Mobile|Windows.*Phone) [NC]
RewriteRule ^(.*)$ http://proc123.no-ip.biz/sp/$1 [R,L]
</IfModule>
--------------------------------------------------------------
と書き置きましたが、うまく遷移しないです。

何故でしょか?iPhoneだけページ遷移しない理由が分かりません。どうか教えてください。

PS.iPhoneでページ遷移する場合は、URLにhttp://proc123.no-ip.biz/sp/?????という感じになるケースとspが入らない場合があります。ChromeとSafariで挙動が違ったりします。


●質問者: inajyun
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● braahmaNa
●100ポイント ベストアンサー

サーバログ見て、そのiPhoneのユーザーエージェントが実際何になっているのか見てみてはどうでしょう?
ブラウザからユーザーエージェントって簡単に偽装出来ますし。
予想と違った値が来ている可能性は有るかと。

ユーザーエージェントが正常な事確認したら次はプログラム内部を疑って、同じ階層で凄く簡単なリダイレクトしてみる(test.html→test2.htmlとか)

上記がリダイレクトされるならプログラム側の問題、されなければサーバ側(htaccess含む)になるかと思います。


a-kuma3さんのコメント
テストケースがうまく作れないなら、RewriteLog でログを書き出してみれば、原因は一発で分かるような気がします。

braahmaNaさんのコメント
あ、コレ知らなかったです、有り難う御座います(>_<) これキチンと読む事出来れば分かりそうですね

braahmaNaさんのコメント
いや、テストケースじゃ駄目なのかコレ? 遷移したりしなかったりする、で動作再現が確実じゃないのか…

a-kuma3さんのコメント
>> いや、テストケースじゃ駄目なのかコレ? << それも含めて、ログで確認です。 レベルを上げれば、何をどうしたまで、かなり詳しく吐き出されるので。

braahmaNaさんのコメント
すいません、ほぼ独り言に近い言葉足らずでした… テストケースじゃ原因特定が無理なんじゃないのかコレ、が正確な意図です。 ログで全部吐き出させて特定が良さそうですね、この場合。

a-kuma3さんのコメント
「教科書的なテストケースで拾うには、難しいような原因が何かあるのか?」というコメントだと思って書きました。 それに「いろいろ試した」という言い方をするときは、たいていの場合、行き当たりばったりのことが、リアルの方でも多いですし(半分以上は自分向け <tt>:-)</tt>

braahmaNaさんのコメント
僕、「ログでしか特定出来ない様な問題か?テストケースじゃ駄目なのか?」っていう取られ方されたかと思ってました… あー、なるほど、「いろいろ試した」か…。 確かに自分にも思い当たる節いっぱい有りますね…( ̄▽ ̄;) もし論理立てて試したなら、まず何らかの痕跡残ってるし、後はそれを掲示すれば事足りますからね(´-ω-`)

inajyunさんのコメント
レスありがとうございます。参考にしています。 一番最初に、iPhoneのSafariで表示させた時のURLは http://proc123.no-ip.biz/sp/index.html になっていました。これは想定通りです。 次にiPhoneのSafari上でクリック(タップ?)した後のURLが、 http://proc123.no-ip.biz/sp/Introduction/introduction.html になっているのです。URLは気合い通り。でも画面遷移はしない。 その後、クリックをしていくとネストがどんどん深くなっていく感じです。存在しないURLなのに、画面上はトップページのままという状態です。 お知恵を拝借したいです。 尚、iPhoneのChromeで動かすと、spフォルダ(スマホ用に特別に作ったフォルダ)を見ず、PCと同じサイトで動いています。動作は問題なしです、

braahmaNaさんのコメント
rewritelogとか使ってみてくれました?? rewriteではまるのって万国共通でエンジニアがやってる事ですし、log取って読まないとキツいと思います。 この場合はiPhoneのみ、っていう不可解な現象の様ですし。 あと、htaccessを全部開示可能であれば、された方が良いかも知れません。

inajyunさんのコメント
レスありがとうございます。それがググったのですが、rewritelogってのがよく分からないのです、お恥ずかしい限りです。当方、オンライン講座でWeb Serverを構築したもので、Webサイトのメンテ方法については知識がほとんど無いんです。.htaccessの公開の意味が分かっていないのですが、中身であれば、最初にあげたものです。意味が通じていないかも知れませんが。よろしくお願いします。

braahmaNaさんのコメント
ちょっとキツいかもですね…w 因みにiPhoneで起こる、「表示はトップなのにネストしまくってるURL」って具体的にはどんなのですか? あとそのURLにAndroidでアクセスしたらどうなります?

braahmaNaさんのコメント
あと、safariのcookieとキャッシュ消してみたらどうなります?(以前のリダイレクト情報が残ってる事が有るため

inajyunさんのコメント
レスありがとうございます。ちょっと私には辛いかもです。 表示はトップなのにネストしまくってるURLとは http://proc123.no-ip.biz/sp/Introduction/Introduction/Introduction/tennis/mai-k/Introduction/mai-k/mai-k/Introduction/Introduction/mai-k/Introduction/recent/Introduction/recent/sikaku/Introduction/Introduction/mai-k/recent/Introduction/Introduction/Introduction/Introduction/Introduction/Introduction/Introduction/Introduction/Introduction/mai-k/Introduction/mai-k/Introduction/tennis/mai-k/sikaku/sikaku/sikaku/Introduction/mai-k/Introduction/Introduction/Introduction/Introduction/mai-k/Introduction/mai-k/sikaku/Introduction/mai-k/Introduction/mai-k/mai-k/Introduction/Introduction/Introduction/mai-k/mai-k/sikaku/recent/Introduction/mai-k/Introduction/mai-k/sikaku/Introduction/Introduction/mai-k/sikaku/sikaku/Introduction/mai-k/Introduction/Introduction/Introduction/mai-k/Introduction/tennis/Introduction/tennis/tennis.html です。 Android端末が今ないのでご容赦を。 iPhoneのSafariのクッキーとキャッシュを消してみたところ、現象は現在発生していません。明日の午前中までの質問期限のため、テストケースがほとんど網羅されていませんが(汗)

braahmaNaさんのコメント
これは酷いですね…w 今のところ動いた様で良かったです=3 多分、iPhone側の問題、っていうかsafariの問題なんでしょうね(chromeでは動作してるので) まだプログラム始められてそんなに時間も経たれてないようなのでそこまで複雑な構成にはされてないでしょうし、htaccessの内容も上記だけとの事だったので、safari単体の問題なのかと思ったんです。 以前のリダイレクト情報とかが残ってて、エラーメッセージとか出る場合はcookieとキャッシュ削除、ってappleが言ってたんで勧めてみました。 https://support.apple.com/ja-jp/HT203370 あとはchromeがspフォルダ見ない問題ですかね…w user-agentってどうなってるんですか?

inajyunさんのコメント
レス重ね重ねありがとうございます。まさに御指摘のWebサイトの通りです。このうち、Web側に問題がある方ですね。user-agentを解析する仕組みを作り込んでいないので、解析できないのですよorz。昔は、Webalizerとか入れてたんですが....。同じiPhoneでも、SafariとChromeで挙動がおかしいのは変なのですが、謎なままで終わりそうなので嫌なのですが(汗)。

braahmaNaさんのコメント
いえ、この場合はweb側よりブラウザな気が…? safariは動いたのでまあ良いとして、chromeは何でspに行かないのかがよく分からないんですよね… サーバ側で受け取れば良いんじゃないですか? 言語がPHPなんで有れば、$_SERVER['HTTP_USER_AGENT']を画面なりテキストなりに出せば良いですよ(>_<)

inajyunさんのコメント
レスありがとうございます。 index.htmlで <?php print $_SERVER['HTTP_USER_AGENT']; ?> を加えれば良いんでしょうか?良いと思うんですが、うまく表示されない。お恥ずかしい限り。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ