cutmail's blog

write the code

mod_rewriteによるアクセス振り分け

携帯サイトを開発する上でアクセス振り分けが重要になってきます。
いろいろなやり方があると思いますが、
一番導入しやすいのはmod_rewriteを使った方法ですかね。

mod_rewriteって?

apacheのモジュールの一つで、正規表現により動的ページを静的ページに見せることができます。
例として、

http://hogehoge.com/?p=123

のようなURLを

http://hogehoge.com/123.html

のように置き換えることができます。

携帯からのアクセスを振り分けるには?

方法は二つあり、

  1. httpd.confに記述する
  2. .htaccessに記述する

のどちらかになります。

httpd.confを編集することができない環境の場合は、
振り分けたいディレクトリに.htaccessというファイルを作成し、以下のソースを記述します。

.htaccessへの記述

RewriteCond %{HTTP_USER_AGENT} (DoCoMo|Vodafone|J-PHONE|SoftBank|UP\.Browser|KDDI)
RewriteCond %{REQUEST_URI} !^/m/
RewriteRule ^(.*)\.html$ /m/$1.html [L]

1行ずつ解説。

  1. 書き換えルールの設定。
    「HTTP_USER_AGENTにDocomo・Vodafone・J-PHONE・SoftBankUP.Browser・KDDIという文字列が含まれていたら」という設定。
  2. これも書き換えルールの設定。
    m/以下のファイルにアクセスがあった場合にはURLの書き換えを行わないという設定。
  3. 実際の書き換え処理。
    この場合、http://hogehoge.com/test.htmlというURLに携帯からのアクセスがあった場合、
    http://hogehoge.com/m/test.htmlに飛びますが、出力される内容はhttp://hogehoge.com/test.htmlになります。

httpd.confへの記述

記述するファイルは違いますが、こちらも同様に記述することで振り分けが可能になります。

ネットにおける一般常識とは何か

最近なにかと話題のこのブログ。
Yahoo!ブログ - エラー

何回か読みましたが、読むたびに不快になるのでもう読まないようにしています。

ブックマークに関してですが、本来のブックマークとは本にはさむ、しおりのことを言います。
ここで本来のと書いたのは、Wikiなどの内容から引用して反論する方が居られることを想像して
そのように書いているのです。

しおりである以上、その機能は個人の趣味嗜好によってなされるものとなります。
そして、ブックマーク禁止を表示しているサイトやウェブページ、ブログについては
公開ブックマークを行うべきではないと考えております。

図書館で利用者が勝手にしおりを挟んでいるようすを想像してください。
施設によっては利用者が数万人、あるいは数十万、数百万人もの人が利用して、
それぞれの利用者が勝手にしおり(ブックマーク)をすると、どのようなことになるでしょうか。

きっと図書館はしおり(ブックマーク)であふれかえり、しおり(ブックマーク)に書かれた内容が
その図書館においてある利用物となってしまいます。

これでは本来の図書館としての役割を果たすことは困難でしょう。

また、何もかもが自由であるとして人の家にまでしおり(ブックマーク)を貼り付ける行為は
社会での一般常識を逸脱した行為といわざるを得ません。

筆者はインターネットを図書館のように例えていますが、
インターネットと図書館は似ているようで全く異なるものであって、
そこに共通のしおりという概念は存在しないんじゃないかと。

なぜ、ここに図書館を出してきたのかはわかりませんが、
インターネット上でブログを書いている以上(公開設定などを除く)
誰に見られてもおかしくないなかで、見ないでと言っているのは、
ずいぶん独りよがりな意見ではないですか。

まぁそんなこんなで、少なくとも他人に迷惑をかけないというのが、
最低限のネットのマナーであり、一般常識なんじゃないかと。