こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

.htaccess で携帯が識別されない

.htaccess
でアクセスしたときにPC用のページではなく携帯用
ブログに転送するようにしたいのですが、うまくいきません。

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} DoCoMo [NC]

RewriteRule ^$ http://ochatea.blog63.fc2.com/?m [R] #byDoCoMo RewriteCond %{HTTP_USER_AGENT} J-PHONE [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Vodafone [NC,OR]
RewriteCond %{HTTP_USER_AGENT} SoftBank [NC]
RewriteRule ^$ http://ochatea.blog63.fc2.com/?m [R] #by SoftBank

RewriteCond %{HTTP_USER_AGENT} UP.Browser [NC]
RewriteRule ^$ http://ochatea.blog63.fc2.com/?m [R] #by au
のように書いたのですが
携帯からアクセスしてもPC版のホームページが表示されてしまいます。

また、
Redirect permanent /tea/ http://ochatea.blog63.fc2.com/?m
と書いたらページを飛ばすことができたので.htaccess自体は
効いていると思います。
ただ上記だとパソコンからアクセスしてもブログに飛んでしまうので
携帯からアクセスした場合のみブログに飛ばすようにしたいのです。

.htaccessの書き方が問題なのでしょうか。
もしくは携帯のせいなのでしょうか。
ちなみに携帯電話はドコモのn705iです。
回答お願いします。

投稿日時 - 2009-03-21 12:44:44

QNo.4814825

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

ORUKA1951です。
>両対応とは携帯でもPCでもきれいに見えるということでしょうか?
 はい、ただ、ウェブサイトを作成するときの基本的な考え方を理解した上での「きれい」かも知れませんが。
 そもそも
【引用】____________ここから
HTMLは、どんな環境からもWebの情報を利用できるようにすべきだという方針の下に開発されている。例えば、様々な解像度や色深度のグラフィックディスプレイを持つPCや、携帯電話、モバイル機器、音声入出力機器、帯域が広いコンピュータや狭いコンピュータ、等の環境である。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで 仕様書(邦訳) 2.1.1HTMLの略歴 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/intro/intro.html#h-2.2.1 )より

 ですので、「きれいに見える」とは、貴方が思っている「きれいに見える」とはすこし違っているかもしれません。紹介のページは、隅々まで読んで置いてください。

 さて、パソコンでも携帯でも対応するページですが、基本的に次のように作成します。
 質問内容から、そのページはサイトあるいはテーマのトップページに当たるもので、インデックスやサイトマップが主体だと思われます。とすれば、
1) 文書構造、アクセス性、ユーザビリティを考慮してHTMLを書く
  まったくデザインされてなくても、目的の情報へのリンクなどが、ページの表示の早い段階で、適切に表示されるなど。
 逆にデザインのためにtableを使うとか、リンクリストなのにリストとしてマークアップされていない・などはだめ
2) そのHTMLを携帯電話でも表示できる程度にデザインする。
3) HEAD内のスタイルシートでhead内のスタイルシートに対応したブラウザ用にデザインする。
4) 次いで外部スタイルシートでmedia別にスタイルシートを書く。
  media="handheld,tty"でPDA,携帯電話用
  media="screen"でカラーディスプレイ用

 要は、きちんとマークアップし、スタイルシートが利用可能なブラウザには、それなりにデザインする。
 こうすることで、ウェブ標準であり、かつ利用しやすく=きれいなサイトで、かつ永続的に利用できるサイトが出来るのではないかと。
  

投稿日時 - 2009-03-22 14:47:36

補足

回答ありがとうございます。

.htaccessのRewriteRuleが思うようにいかなかったので、
.htaccessの中に
# 全てのPHPコードをHTMLのように作成する
AddType application/x-httpd-php .htm .html

を追加し、html上にphpを書き(事情によりアドレスを変えられな
かったので)振り分けの設定をしたらうまくいきました。
ありがとうございました。

投稿日時 - 2009-03-22 15:22:06

ANo.2

書き方は問題なさそうな気がしますが。
mod_rewriteが適用されているApacheなのでしょうか?
まずは、PC版の方の中でURIを書き換えるRewriteRuleを書いてみて、
書き換わるかどうか確認してみてください。

RewriteEngine on
RewriteRule ^/hoge/$ /fuga/

投稿日時 - 2009-03-21 20:16:09

補足

RewriteEngine on
は効かないようでした。
回答、ありがとうございます!

投稿日時 - 2009-03-22 15:20:40

ANo.1

 .htaccessはサーバーの動作を指定するファイルで、ユーザーエージェントには依存しません。
 継ぎから次に登場する携帯電話のUSER_AGENTに.htaccessで対応するのは無理があります。
 いっそのこと、そのページを両対応にすればよいのでは?

投稿日時 - 2009-03-21 19:19:07

補足

両対応とは携帯でもPCでもきれいに見えるということでしょうか?
それともほかに方法があるのでしょうか。

投稿日時 - 2009-03-22 09:47:13

あなたにオススメの質問