みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

スマートフォン用のホームページ

スマートフォン用のホームページを作成しています。スマホからのアクセスなのかPCからのアクセスなのかを判断して表示するページを判別するものです。

http://www.abc.com/index.html

をスマホでアクセスしたとき

http://www.abc.com/sp/index.html

が表示されるように.htaccessファイルに次のように記述しました。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (iPhone|Android.*Mobile|Windows.*Phone) [NC]
RewriteCond %{QUERY_STRING} !mode=pc
RewriteRule ^$ /sp/ [R,L]
</IfModule>

これだと
http://www.abc.com/index.html
をアクセスしたときには正常に

http://www.abc.com/sp/index.html

を表示しますが、

http://www.abc.com/bbbb.html

などとトップページ以外のURLを指定したときはそのまま

http://www.abc.com/bbbb.html

が表示されてしまい表示してほしいスマホ用のページ

http://www.abc.com/sp/bbbb.html

は表示されません。

ここで質問ですがスマホで

http://www.abc.com/bbbb.html

をアクセスしたときにも

http://www.abc.com/sp/bbbb.html

が表示されるようにするにはどのように.htaccessを変更すればよいのでしょうか?

投稿日時 - 2015-04-23 17:25:39

QNo.8962041

困ってます

質問者が選んだベストアンサー

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (iPhone|Android.*Mobile|Windows.*Phone) [NC]
RewriteCond %{QUERY_STRING} !mode=pc
RewriteCond %{REQUEST_URI} !(^/sp/)
RewriteRule ^(.*)$ /sp/$1 [R,L]

投稿日時 - 2015-04-23 17:34:55

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問