• ベストアンサー

htaccessについて

wwwあり、なし統一 携帯サイトのキャリア判別 PC、スマフォサイトのキャリア判別 をhtaccess に記入したいのですが、 それぞれ順番に書き込めばいいのでしょうか? 何か注意点がございますか?

  • HTML
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

順番は関係ありません。 正しい文法で書くこと。 >何か注意点がございますか? 「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で、ユーザーエージェントを振り分けるのは、本来は邪道です。

kurobon619
質問者

お礼

ご丁寧な解説、よくわかりました。 ORUKA1951さんありがとうございます。

その他の回答 (1)

  • aspnet
  • ベストアンサー率79% (72/91)
回答No.2

.htaccessでのUserAgent判定は、ほとんどmod_rewriteを用いたルーティング処理のためだと思うのですが、業務でマルチデバイス対応のコンテンツを作る際に行っている原則は、 ・ホスト名対応はすべてApache側で対応 ・携帯(ガラケー)のキャリア別判定は行わない ということです。 基本的には、PC / スマホ / ガラケーの3種類だけでルーティングを行います。 ガラケーはキャリア(さらに言うと同一キャリア内の搭載ブラウザ)ごとに、対応エンコード・HTML・CSS対応・絵文字などが大きく異なっており、よほど小規模でなければ全コンテンツを別々に作ることは不可能だし、.htaccess程度で対応できる内容は知れています。 現実的には、共通部分を最小公倍数(FOMA)で作成し、phpライブラリでデバイス特性に合わせて変換します。 よって.htaccessのキャリア判定は簡潔単純に。 #1さんの意見とは真逆になりますが、userAgent判定も、ブラウザハックも、JavaScriptも全部駆使しなければ、HTMLとCSSでマルチデバイス対応のコンテンツは作れませんよ。

kurobon619
質問者

お礼

大変遅れましてすみません。 aspnetさんありがとうございます。

関連するQ&A

  • .htaccessについて

    PCサイトでも使用しているレンタルサーバーに携帯サイトもアップしたのですが、振り分けのため .htaccessのファイルをアップするとPCサイトが見れなくなりました。どうしてでしょうか?詳しい方よろしくお願いします。

    • ベストアンサー
    • HTML
  • .htaccessについて

    現在携帯サイトとPCサイトを作っています。 独ドメでhttp://www.***.com/というものを使用しており、携帯サイトではhttp://www.***.com/mobile/としておりました。 最近サブドメでhttp://m.***.com/というものをつくったのですが、 検索サイトにはhttp://www.***.com/mobile/で登録しています。 ここで.htaccessを使ってhttp://www.***.com/mobile/からhttp://m.***.com/にリダイレクトはできますでしょうか? 一応ネットで調べながら記述をして、/mobile/のディレクトリを同じ階層に置き、携帯からアクセスしたのですが、http://www.***.com/mobile/(作成した携帯サイトの表示)もしくはhttp://www.***.com/mobile/のURLなのに作成したPCサイトの表示になってしまいます。 http://m.***.com/に統一(表示されるURLも)したいので、記述方法をお願いします。 また、http://m.***.com/のディレクトリは/mobile/にしています。 宜しくお願いします。

  • .htaccessについて

    現在携帯サイトとPCサイトを作っています。 独ドメで​http://www.***.com/​というものを使用しており、携帯サイトでは​http://www.***.com/mobile/​としておりました。 最近サブドメで​http://m.***.com/​というものをつくったのですが、 検索サイトには​http://www.***.com/mobile/​で登録しています。 ここで.htaccessを使って​http://www.***.com/mobile/​から​http://m.***.com/​にリダイレクトはできますでしょうか? 一応ネットで調べながら記述をして、/mobile/のディレクトリを同じ階層に置き、携帯からアクセスしたのですが、​http://www.***.com/mobile/(​作成した携帯サイトの表示)もしくは​http://www.***.com/mobile/​のURLなのに作成したPCサイトの表示になってしまいます。 ​http://m.***.com/​に統一(表示されるURLも)したいので、記述方法をお願いします。 また、​http://m.***.com/​のディレクトリは/mobile/にしています。 宜しくお願いします。

  • .htaccess でPC/携帯を振り分けつつ、転送方式に301リダイレクトを使う場合

    PCサイトと携帯サイトを、レンタルサーバ上にディレクトリを分けて設置して、 http://www.example.com でアクセスすると /home/www http://m.example.com でアクセスすると /home/m を読みに行くように、.htaccess を設定したいと考えています。 (DNSでは、どちらも通るように設定済みです) また、PC/携帯のアクセス振分も同時に行いたく、サブドメインなしの http://example.com でアクセスすると、端末情報を判別して、 携帯のときは http://m.example.com、それ以外のときは http://www.example.com へ 「301リダイレクト」で転送させたいと思っています。 このような要件を同時に満たすには、どのように.htaccess を記述 すれば良いでしょうか?

  • htaccessとJavascriptでの振り分け

    いつもお世話になっています。 現在htaccessでキャリア判別+ RewriteCond %{QUERY_STRING} !mode=pc のような感じで、スマホ端末をspフォルダへ振り分けています。 そこにスマホでもPC版を見たい方のために、 http://hogehoge.jp?mode=pc という形でPC版を見れるようにしています。 ここまでは理解でき、設定もできているのですが、 http://hogehoge.jp?mode=pc と言うのは、スマホサイトからのリンククリックの時にmode=pcになるだけで、 PC版に移動した後に、さらに別の詳細ページなどに移動しようとすると、 またhtaccessが効いて、spフォルダへ再転送されてしまいます。 スマホからPC版へ移動した場合に、 そのセッション中だけは、PC版を見続けられるようにできますでしょうか? phpは使っていません。 HTML,Javascript、htaccessの組み合わせで回避できるようにできますでしょうか?

  • .htaccessでPC・携帯を振り分け、専用の誘導ページを表示させたい

    /pc/index.html(PCサイトトップ) /pc/.htaccess /pc/error/403.html(PC用に作った403エラーページ) /pc/error/mb.html(携帯用に作ったエラーページ) /mb/index.html(携帯サイトトップ) /mb/.htaccess /mb/error/403.html(携帯用に作った403エラーページ) /mb/error/pc.html(PC用に作ったエラーページ) PCサイトに携帯からアクセスがあった場合→/mb/error/mb.htmlに、 携帯サイトにPCからアクセスがあった場合→/pc/error/pc.htmlに飛ばす 403ページは現時点で使用しているので、できればPCと携帯とを判別して 弾いた場合のみに表示される、専用のエラーページを用意したいです。 可能であれば .htaccess をそれぞれどのように記述すれば良いか教えて下さい。 よろしくお願いいたします。 ※「携帯からPCサイトへアクセス→携帯サイトトップへ飛ばす」ではなく、 「携帯からPCサイトへアクセス→エラーページを表示し、携帯サイトトップへ誘導」にしたいです。 PCから携帯サイトへアクセスした場合も同様です。

  • .htaccessのリダイレクトの書き方

    .htaccessのリダイレクト処理で http://sample.com/index.phpにpost情報込みでアクセスがあった場合、 「www統一」 「index.phpなし」 「index.phpなしアドレスにリダイレクトされた場合もpostの値を取得できる」 という条件を満たすコードはどのようにすれば良いのでしょうか? 「www統一」や「index.phpなし」は説明サイトも多いので可能なのですが、リダイレクト後のURLでもpostの情報を取得する方法がわかりません。 どうそよろしくお願いします。

    • ベストアンサー
    • HTML
  • .htaccessについて教えてください

    testというフォルダを作って、その中にindex.htmlを作り、このサイトをPCからのアクセスを拒否させたいと考えています。.htaccessでできることを知り、いろいろ調べているのですが、よく分かりませんでした。.htaccessファイルにどのように書けばいいのか、それをどこに置くのかなど、詳しく教えていただきたく思い投稿しました。よろしくお願いします。.htaccessはじめてです。

  • .htaccessでUA以外での判別方法について

    スマートフォンかPCの判別を自分で色々と調べましたが、 .htaccess以外ではjavaSで出来る事はわかってます厳密ではないですが、 自分が知らないだけで、もしかしたら、あるかもしれないので聞いてみます。 .htaccessでUA以外で判別する方法はありますか。 宜しくお願い致します。

  • .htaccessによるアクセスについて

    すみません。 急ぎで対応したいことがあり、教えていただきたく参りました。 WordPressでKtaiStyleと言うプラグインを利用して、 携帯サイトを構築しました。 閲覧は携帯からのアクセスのみに限定したくて、管理はPCでと 思っています。 WordPressのインストールディレクトリ(携帯でhttp://xxxx.com)として 最初に見えるページ(トップページ)に携帯からのアクセスのみ 許可する.htaccessをおきました。これにより、携帯からは閲覧できて、 PCから閲覧は出来なくなりました。目的の半分は達成です。 次に、管理画面にPCからアクセスしたいのですが、 管理画面のディレクトリは1階層下にあります。 管理画面のアドレスを直接PCブラウザに入力しても、上のディレクトリに 設置してある.htaccessが効いていて表示がされません。 \root ・・・ ドメインルート \root\admin ・・・管理画面ディレクトリ として、 1.ドメインルートに設置のhtaccessを編集 2.adminディレクトリにもhtaccessを設置 上記、どちらの方法が良いと思われますか? また、.htaccessにはどのように記述したらよいでしょうか。 よろしく、ご教授お願いします。

専門家に質問してみよう