######状況
こちらを参考に、.htaccessを使ってPCサイトからスマホサイトへのリダイレクトをさせようとしています。
PC版とスマートフォン版サイトを自動で切り替える方法
http://www.hoge.com/foo/bar (PCページ)
http://www.hoge.com/foo/bar/sp (スマホページ)
として、/fooに.htaccessを格納しています。
.htaccessには、下記のように記述しています。
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_USER_AGENT} (iPhone|Android.*Mobile|Windows.*Phone) [NC] RewriteCond %{QUERY_STRING} !mode=pc RewriteRule /foo/bar/ /foo/bar/sp/ [R,L] </IfModule>
######質問
/foo/index.htmlにある/foo/bar/index.htmlへのリンクをクリックしたところ、PC・スマホどちらから閲覧してもトップページ(/index.html)へ遷移されてしまいます。
【追記】/.htaccessにエラー処理があったためトップページに飛んでいました。
エラー処理を削除すると403エラーでした。
Forbidden You don't have permission to access /foo/bar/ on this server.
PCの場合は/foo/bar/index.html
スマホの場合は/foo/bar/sp/index.html
に遷移させるようにするにはどのようにしたらいいのでしょうか?
.htaccessと正規表現の書き方がいまいち理解できておらず申し訳ないのですが、ご回答いただけますと幸いです。よろしくお願いいたします。
######状況(随時更新 20/2/6/13:37)
htaccessのリダイレクトで403エラーが起きたときの対処法
Options +FollowSymLinks
/foo/.htaccessの1行目に↑を追加したところ、PC・スマホどちらから閲覧しても/foo/bar/index.htmlに遷移するようになりました。
######状況(随時更新 20/2/6/14:43)
JavaScript:一つのリンクをPC用URLとスマホ用URLに切り分ける
JavaScriptを使った方法で期待通りに遷移できました。
問題としては解決はしましたが、.htaccessで実現する方法は引き続き回答募集させていただきます。
ご存知の方は回答いただけますと嬉しいです。。
回答1件
あなたの回答
tips
プレビュー