- ベストアンサー
htaccessについて
wwwあり、なし統一 携帯サイトのキャリア判別 PC、スマフォサイトのキャリア判別 をhtaccess に記入したいのですが、 それぞれ順番に書き込めばいいのでしょうか? 何か注意点がございますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
順番は関係ありません。 正しい文法で書くこと。 >何か注意点がございますか? 「wwwあり、なし統一」はともかく・・というか普通は必要ない。 「携帯サイトのキャリア判別 PC、スマフォサイトのキャリア判別」は、本来は.htaccessで行いません。 HTMLの最大!!!の目的が、 【引用】____________ここから 2.2 HTMLとは何か? ・・・【中略】・・・全てのコンピュータが潜在的に理解可能であるような出版用母語の一種である ・・・【中略】・・・ 2.2.1 HTMLの略歴 ・・・【中略】・・・ HTML文書が、ブラウザやプラットフォームの違いを超えてうまく働くべきで あるということは、多くが認めるところである。 ・・・【中略】・・・ ただ1種類の文書しか作る必要がなくなるからだ。 ・・・【中略】・・・ HTMLは、どんな環境からもWebの情報を利用できるようにすべきだという方針の 下に開発されている。例えば、様々な解像度や色深度のグラフィックディスプレ イを持つPCや、携帯電話、モバイル機器、音声入出力機器、帯域が広いコンピュ ータや狭いコンピュータ、等の環境である。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Introduction to HTML 4 (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/intro/intro.html#h-2.2.1 )]より 別々のHTMLを作成することは大変な労力になりますし、『それを防ぐのがHTMLの目的』 新しいユーザーエージェントが登場するたびに.htaccessを書き換え、新しいページを作成しなければなりません。 正しいHTMLを作成すれば、ユーザーエージェントごとにページを作成する必要はなくなります。たった一つのHTMLを作成し、メディア別にスタイルシートでデザインを指定し、最低限必要な場合にのみ、ユーザーエージェントごとのページと、そのページへのリンクが、そのユーザーエージェントでは表示されるように作成するべきです。 ユーザーから要求 ↓ 一種類のHTMLを提供 ↓ ↓ ↓ ↓ ユーザーエージェントは、自分用のスタイルシートを読み込み表示する。 screen: 非ページ型のコンピュータスクリーンを示す。 tty:固定文字幅での出力、例えばテレタイプ、端末機器、表示能力に 制限のある携帯機器、などでの出力を示す。 tv:低解像度で、色やスクロール能力に制限がある、テレビ型機器を示す。 projection:プロジェクターを示す。 handheld:画面が小さく、モノクロ、ビットマップ画像、帯域幅に制限がある、モバイル機器を示す。 print:ページ型の不透明素材での出力、および印刷プレビューモードでのスクリーン出力を示す。 braille:点字出力機器を示す。 aural:音声合成装置を示す。 all:すべての出力に適合する。 6.13 出力メディア ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/types.html#type-media-descriptors )より .htaccessで、ユーザーエージェントを振り分けるのは、本来は邪道です。
その他の回答 (1)
- aspnet
- ベストアンサー率79% (72/91)
.htaccessでのUserAgent判定は、ほとんどmod_rewriteを用いたルーティング処理のためだと思うのですが、業務でマルチデバイス対応のコンテンツを作る際に行っている原則は、 ・ホスト名対応はすべてApache側で対応 ・携帯(ガラケー)のキャリア別判定は行わない ということです。 基本的には、PC / スマホ / ガラケーの3種類だけでルーティングを行います。 ガラケーはキャリア(さらに言うと同一キャリア内の搭載ブラウザ)ごとに、対応エンコード・HTML・CSS対応・絵文字などが大きく異なっており、よほど小規模でなければ全コンテンツを別々に作ることは不可能だし、.htaccess程度で対応できる内容は知れています。 現実的には、共通部分を最小公倍数(FOMA)で作成し、phpライブラリでデバイス特性に合わせて変換します。 よって.htaccessのキャリア判定は簡潔単純に。 #1さんの意見とは真逆になりますが、userAgent判定も、ブラウザハックも、JavaScriptも全部駆使しなければ、HTMLとCSSでマルチデバイス対応のコンテンツは作れませんよ。
お礼
大変遅れましてすみません。 aspnetさんありがとうございます。
お礼
ご丁寧な解説、よくわかりました。 ORUKA1951さんありがとうございます。