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以下に入っている画像に関しては正しく表示されます。
画像ファイルのURLに始点を書いてないんじゃないかしら?
始点が無いと相対パスになってhttp://www.example.com/spn/image/画像ファイルになっちゃうわよ。そんなところに画像は無いんだから何も表示されないのは当然よね。
どちらかの対策が必要になるわ
HTMLタグ/リンクタグ/相対リンクの基準となるURIを指定する - TAG index Webサイト
<base>?HTML5タグリファレンス
画像ファイルを相対指定にしているのだと思いますが、下のような指定の仕方にすれば、PCサイトでもモバイルサイトでも共通して表示できます。
<img src="/image/image.jpg" />
回答ありがとうございます。
見逃していたわ。ごめんなさい。
2014/05/25 20:05:59baseタグで全部変えちゃうとまずいわね。面倒でも必要なリンクだけ絶対指定に直す方法になるかしら。
いっそのこと/spn以下にある画像ファイルをすべて/imageに移せればいいのだけど、逆に必要な画像ファイルを/imageから/spnにコピーしちゃうって手もなくはないわ。あなたの管理しやすいところに画像をまとめることを考えるのが第一かもしれないわ。
回答ありがとうございました。
2014/05/26 18:07:39そうですね、画像ファイルを移動させれば表示ができますね。