質問: 一般的なレスポンシブデザインでは、アクセスしている環境の画面のサイズでCSSの表示を切り替えることが多いと思います。(metaのviewportとCSSのmedia query) そのため、PCのブラウザでも幅を狭めるとスマホ表示用のCSSに切り替わります。 その他の方法として.htaccessで端末を識別して切り分ける方法もあるかと思います。 その場合は、スマホ用のURLが下記のように http://hoge.com/sp/ http://m.hoge.com/ 別になり更新が2カ所になる、SEOのアクセスが別れるなどのデメリットがあると思います。 参考サイト サイトを見ていると、URLが同じにも関わらずPCで見たときはPC表示、スマホで見たときはスマホ表示になり、PCブラウザを狭めても表示が切り替わらないものもあります。 例えばLIGのサイトなどもそうです。 ソースを見るとこのサイトにもmetaのviewportが書いてあるのですが、こうした仕組みのサイトはいったいどうやって端末の識別とワンソースURLを実現しているのでしょうか。 また、この仕組みを使えるとスマホで「PC表示」「スマホ表示」の切り替えボタンを設置することもできるのでしょうか。 ※追記1 先ほど、同一URLで端末識別を行っている例としてLIGを上げましたが、 このteratailのWebサイト自体もその仕組みで作られておりました。 このサイトをPCブラウザで狭めても表示は変わりませんが、 スマホでアクセスすると同一URLのままスマホ表示に切り替わります。 ソースには下記のviewportが書いてあります。 ※追記2 本質問の「関連した質問」にあるこちらの質問は内容が似ているかもしれません。こちらも合わせて読んでみます... teratail,dotinstallのようなスマホのみデザインが切り替わる仕組み
回答: Apache や Nginx などでデバイスの振り分け方法はわかってくるのですが Apache は などを見てみてはどうでしょうか Nginx は なんてなのはどうでしょうか (どちらも動作確認していませんが) そして切り替えするには 構成を /pc/ と /sp/ などを作りリンクで http://example.com/pc/ などに飛ばすようにしておいて見ればどうでしょうか