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

mod_rewiteを使用したスマホとPCの振り分けについて(画像が表示されない)

http://www.anothersky.pw/skyward/archives/
000094.html
こちらのサイトを参考にモバイルとPCの振り分けが実現できました。

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/spn/.*$
RewriteCond %{HTTP_USER_AGENT} (iPhone|iPod|Android|BlackBerry|Windows.Phone) [NC]
RewriteCond %{HTTP_USER_AGENT} !iPad [NC]
RewriteCond %{HTTP_COOKIE} !viewmode=pc
RewriteRule ^(.*)$ /spn/$1 [R=301,L]


ここでひとつ問題が出てきました。
スマホでアクセスした場合、モバイルフォルダの中を参照するように転送されるわけですが、その転送されたページの画像が表示されません。
(例)http://www.aaa.com/spn/index.html の中の画像

http://www.aaa.com/spn/(モバイルフォルダ)
http://www.aaa.com/image/(イメージフォルダ)

となっており、どうもimageフォルダに入っている画像にアクセスができなくなるようです。
おそらく、転送処理をした際にパスか何かが変わってしまうのかと思うのですが、解決法をご教授ください。
※spn以下に入っている画像に関しては正しく表示されます。



●質問者: jamis
●カテゴリ:インターネット
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● 井戸端さん
●140ポイント

画像ファイルのURLに始点を書いてないんじゃないかしら?
始点が無いと相対パスになってhttp://www.example.com/spn/image/画像ファイルになっちゃうわよ。そんなところに画像は無いんだから何も表示されないのは当然よね。

どちらかの対策が必要になるわ

HTMLタグ/リンクタグ/相対リンクの基準となるURIを指定する - TAG index Webサイト
<base>?HTML5タグリファレンス


井戸端さんさんのコメント
>> spn以下に入っている画像に関しては正しく表示されます。 << 見逃していたわ。ごめんなさい。 baseタグで全部変えちゃうとまずいわね。面倒でも必要なリンクだけ絶対指定に直す方法になるかしら。 いっそのこと/spn以下にある画像ファイルをすべて/imageに移せればいいのだけど、逆に必要な画像ファイルを/imageから/spnにコピーしちゃうって手もなくはないわ。あなたの管理しやすいところに画像をまとめることを考えるのが第一かもしれないわ。

jamisさんのコメント
回答ありがとうございました。 そうですね、画像ファイルを移動させれば表示ができますね。

2 ● snow0214
●60ポイント

画像ファイルを相対指定にしているのだと思いますが、下のような指定の仕方にすれば、PCサイトでもモバイルサイトでも共通して表示できます。

<img src="/image/image.jpg" />

jamisさんのコメント
回答ありがとうございます。

質問者から

他の質問で全く同じものがありました。
この方法で解決しました。

http://q.hatena.ne.jp/1350363142


関連質問

●質問をもっと探す●



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