携帯でのアクセス時、別のURLに自動転送させる

スポンサーリンク

 Docomoにも検索サービスがあるんですが、昔は検索しても「公式サイト」しか出てこなくて、情報を入手するには不完全すぎて全く使ってませんでした。私はgoogle mobileで検索していたのだけれど、ここにきてどのキャリアもようやく「勝手サイト」も検索できるようになり、このサイトにも携帯検索でいらっしゃる方が多くなってきています。docomoもauもそうだし、あるいはsoftbankだったり。特にsoftbankが最近ちょっと目立つかな。
 
 で、sorariumでは携帯用サイトも用意してます。というのも自分の携帯がフルブラウザを搭載してないんで、PCサイトだと見にくくて仕方ないんですよね。画像とかも表示されちゃうと重いから苛々するし。もともと前のサーバーを使用していた時は、コメントのメール通知機能がなかったので、それを携帯でアクセスして確認したり、あるいは情報を出先で確認したりしたかっただけで、画像自体はそれほど重要じゃなかった。とにかく軽くて見やすい携帯用のサイトが必要だったので作ったんです。MTの携帯用CGIとしては、MT4iを使用。これは管理画面もそれなりに充実しているし、ページ自体もシンプルで見やすい。

 が、もちろんPCサイトとURLは別になります。

 だから、サイドバーの左下にもこっそり「URLを携帯に送る」機能をつけて、「そのURLを携帯に送ってくださいね、携帯からアクセスしたい時はそっちのが便利ですよ~」としていて、つまりもともとうちのサイトをPCで知ってて、そういう人たち向けだったのです。携帯で検索してわざわざくるようなサイトでもないですから。コンテンツを考えるとね。着うたが入ってるわけでもなく、待ち受け画像がおいているわけでもなく、ゲームが出来るわけでもないから(笑)

 けれども、あるURLにアクセスすると、自動的に携帯なら携帯用に振り分けられる、というのは前から一度やってみたいなと興味は持っていたから、サーバーの移転をきっかけにようやくやってみることにしました。

 以下が手順。


1.まず.htaccessファイルを作ります。

 テキストエディタで新規ファイルを作ります。以下の内容を記述します。

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^(DoCoMo|KDDI|DDIPOKET|UP\.Browser|J-PHONE|Vodafone|SoftBank)
RewriteRule ^$ https://www.sky-s.net/sky-blog/cgi/blog/mt4i.cgi [R]

3行目のURLの部分に、携帯でアクセスされた時に見せたいアドレスを記述して保存。
ただし、保存した時点では「.htaccess.txt」という名前になって、「.txt」は消したいと思っても削除できなくなってるはず。
これはこの時点ではこのままでいいです。

※ポイント
これをアップロードすると、https://www.sky-s.net/sky-blog/にアクセスされた場合は携帯サイトに転送されますが、各エントリーページにアクセスされた場合には普通に表示されてしまいます。もし、各ページが表示された場合でも、自動的に携帯サイトのトップに転送させたければ以下の手法を使います。

うちのサイトはphpで作っているので、三行目だけ以下のように修正します。

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^(DoCoMo|KDDI|DDIPOKET|UP\.Browser|J-PHONE|Vodafone|SoftBank)
RewriteRule ^.+\.php https://www.sky-s.net/sky-blog/cgi/blog/mt4i.cgi [R,L]

※ただし、これをすると各ページにアクセスされたとしても、必ずmt4i.cgiのトップページに飛んでしまうということ。これ、フルブラウザで見られている方とかには不便ですよね。多少見づらくても、私としてはトップに飛ぶよりはいいので、この方法はsorariumでは採用していません。ベストな方法としては、各エントリーページにアクセスされた場合、携帯用の各エントリーページにいくと一番いいんですけどね。あるいは、サイト内検索が出来るとか。

2. index.phpが置かれているディレクトリに.htaccess.txtをアップロード。この時点ではまだ.htaccessはきいていないので、「.htaccess」に名前を変更する。
 
3. 携帯からhttps://www.sky-s.net/sky-blog/にアクセスすると自動的にhttps://www.sky-s.net/sky-blog/cgi/blog/mt4i.cgiに飛ぶことが確認されました。

とはいえ、ただ、http://www.sky-s.net/~sky-blog/にアクセスした場合はmt4iに飛ばないんですよね。もうー、本当チルダは困る。これに関してはまぁ、いいや、ということであきらめました。あとgoogle mobileなどで検索してくる場合、各エントリーページにいってしまうんで、携帯サイトがある意味があまりないんですが、自動的にトップに飛ぶ方がいいのか、それとも見づらくても各ページにアクセス出来た方がいいのかは迷うところ。

 ただ、DocomoがFOMAのフルブラウザ向け「パケホーダイ」プランを発表しましたし、今後発売される機種はほぼフルブラウザ搭載であることを考えると各ページにアクセスした場合でも見づらさはなくなるわけだし、やっぱり今回の措置の方がいいんじゃないかという気はしてます。

 サービスを考える上でかなり重要な項目として「ユーザー自身が選ぶことが出来るかどうか」だと思うんですよね。フルブラウザ搭載の機種を持っている人は、勝手に携帯サイトに飛ばされたくはないかもしれない。この「自動的に」ってのがなかなか難しい問題で、ユーザーの手間や不便さは出来る限り削ぐべきではあるけれど、選択肢を狭めたくはないし、狭めるべきではない、と思う。そうするとトップページはどうなんだ、とも思うけど。(笑)

 ま、このへんはしばらくは様子見しながらこれでいきたいと思います。

【参考サイト】
PCサイトを携帯に対応させるまとめ
.htaccessファイルを利用した携帯電話の振り分け
携帯サイトを自動的に転送

※おまけ
「MT4i」での携帯ページのアクセスを解析する方法を。

スポンサーリンク
NO IMAGE
この記事をお届けした
sorariumの最新ニュース情報を、
いいねしてチェックしよう!

シェアする

『携帯でのアクセス時、別のURLに自動転送させる』へのコメント

  1. 名前:MT4iの設置 - FUMIR.NET BLOG 投稿日:2010/04/12(月) 14:33:36 ID:68b4c9400

    […] MT4i | XREA.COM | エラー | 投稿 | 絶対パス | 設置 Movable Typeは標準で携帯電話参照に対応してないので、MT4iを設置。 ■絶対パス 設置すると下記のエラー。 Software error: Can’t locate MT.pm in @INC (@INC contains: ~~~ 検索すると同じ症状の方が多数いたのでメモ書き。初めはEncode.pmやTemplate.pmを疑ったけど、単純に絶対パスの設定が間違ってた。xrea.comの場合は、下記となる。xrea.comはpublic_htmlの上位階層が見えないから分かりにくい。 ・MT本体がpublic_html直下にある場合  /virtual/Your ID/public_html/  ※Your IDは、VALUE DOMAINのIDではなく、サーバ内の自分のID ■おまけ1 記事本文の最後に挿入される記事数の「(**/**)」を消すには、mt4i.cgiの”$rowid/$ttlcnt”の”"内を削除。 ■おまけ2 PC用URLに携帯でアクセスすると、自動で携帯用URLの/mt4i/mt4i.cgiに飛ばすには、.htaccessを編集すればいい。編集方法はここが参考になる。 ■おまけ3 MT4iとは関係ないけど、携帯からの投稿はMTmailが便利。けど個別記事のアーカイブマッピングを「%y/%m/%d%h%n%x」などに変更してると投稿時間が9時間前になって正常に処理されない。(MTmailの他にSendMobも同様)調べたらここに回答が書いてあって、XMLRPCServer.pmを書き換えたら直った。多謝。 […]