- ベストアンサー
.htaccessでPCからのアクセスだったら別ページに飛ばしたい
.htaccessについては初心者なんですが、携帯専用HPを作ったときにPCを別ページに飛ばしたいんです。 携帯から閲覧して下さい。 URLを携帯に送る。 みたいなように。 .htaccessで携帯からのIPアドレスだけをスルーさせればパソコンからはアクセスできなくなるのは知っているんですが、違うページに飛ばすにはどうすればいいかわかりません。 お願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは、再びNo.3です。 説明不足で申し訳ありませんでした。 自分のサイト構成をよく見たら、403とは別フォルダに作成していました。 トップのディレクトリに置くと従来の403にかかってしまうことと、そのフォルダの中のページだけ閲覧制限(例えば他フォルダにある掲示板などはパソコンからも共有)をしているためでした。 でもご自分でいろいろと試行錯誤されて最適な方法を見つけられたようで良かったです。 ループ…それは気づきませんでした…。私はフルパス指定なんですが、設定とかやっぱりあるんでしょうかね。まだまだ勉強不足ですみませんでした。 これからもお互いに勉強!勉強!ですね(^^) サイト運営、頑張ってくださいね。
その他の回答 (3)
- canaanium
- ベストアンサー率47% (106/224)
こんにちは。 403エラー(アクセス不可)を利用してはいかがでしょうか。 例えば間違ったURLを入力したときなどに404エラー(ファイル未検出)が表示されますが、.htaccessを使えばこのページをサーバー既定のものではなく、任意のページを表示させることができるのをご存知ですか? .htaccessに次の記述をします。 ErrorDocument 403 /403.htm 403.htmというページを作って同じフォルダに置きます。 403.htmのページは 携帯から閲覧して下さい。 URLを携帯に送る。 と、runner_h_aさんの好きなように作成してください。 なお、このままだと管理人の設定画面など、パスワードが設けられたページを覗こうとしたときにも同じページに飛ばされてしまいます。 もし不都合があるようでしたら ErrorDocument 403 /XXX.htm として、XXX(好きな名前)という任意のページを作ってください。 うまく表示ができないときは ErrorDocument 403 http://○○/△△/XXX.htm とフルパスで記述してみてください。
- notnot
- ベストアンサー率47% (4900/10358)
私は知りませんが、携帯のIPアドレス範囲やドメインはご存知と言う前提で良いんですよね?#1さんのページに書いてあるようですね。 インデックスファイルをそれぞれ用に作って、.htaccess に下記のように携帯優先で指定し、アクセス制御で携帯以外からアクセスできなくすれば、その他のホスト(PC)からは index.PC.htm が表示されるはずです。他のページはそれぞれのインデックスページからリンクを張る。 DirectoryIndex index.KTAI.htm index.PC.htm <Files "index.KTAI.htm"> deny from all allow from 携帯のアドレス範囲、ドメイン </Files> これだけだと、PCからインデックスページ経由で無く直接携帯用コンテンツのURLを指定すると見えますが、携帯用ページはファイル名に必ず KTAI と入れる事にすれば、 DirectoryIndex index.KTAI.htm index.PC.htm <Files "*KTAI*"> deny from all allow from 携帯のアドレス範囲、ドメイン </Files> にしておけばそれも出来ません。
私は、CGI で対処してます。 下記のページを参考にどうぞ
お礼
いろいろ.htaccessのことを勉強したらできました! ありがとうございます! ただ同じフォルダに置くと403.htmまで.htaccessに引っかかってしまうため、違うフォルダに置くことで解決できました。 あとフルパスで記述したらループに陥ってしまい、危ういところでした。設定にもよるのでしょうが、ループになってしまう場合もあるんですね。