au版iPhoneについて

日経ビジネスで、au(KDDI)向けにiPhoneが発売されるという報道がされて、KDDIの株価が上昇、Softbankは下落と株価にもすぐ反応が出たり。
じゃあ、君は買うの?とかいろいろな反応あったんですけど、自分なりにこの辺ってどうなるんだろう?ってのをまとめて、後で本発表があった際にどうなるのかな~ってのを予想して楽しんでみる。 Continue reading

マルチサイト化完了(サブドメインの場合)

ハードルとしては、httpd.conf書けないというか、ServerAlias書けないと駄目だから、やっぱり難しい部分は大きいね。
まあ、httpd.conf書けるから、.htaccessじゃなくて、httpd.confに書き換えた方が、軽くなると思うんだけど、なんでみんな.htaccess何だろうなあ?と純粋に不思議だと思った。

Twitterの日本語ハッシュ実装に伴う、正規表現の修正

とりあえず、いろんなところで拾ってきて、自分なりに修正
ハングルとか中国語圏での漢字の範囲、キリル文字なんかも分からんから、日本語のみって事で。

/#(w+)/g

/(#|uFF03)([w_u3041-u3094u3099-u309Cu30A1-u30FAu30FCu3400-uD7FFuFF10-uFF19uFF20-uFF3AuFF41-uFF5AuFF66-uFF9F]+)/g

参考
Real Beat | Twitterの日本語ハッシュタグ抽出する正規表現

http://nobu666.com/2011/07/13/914.html

.htaccessでハマったこと

.htaccessでハマったので、まとめておく。

日本語のファイル名使用時に、mod_rewriteのリダイレクト
.htaccessをUTF-8で保存して、URLは日本語をそのまま記述する。
URLエンコードなどは不要。

BASIC認証で、404エラー
401エラーを.htaccessで指定している時などに、指定先のエラーファイルがない場合、認証が表示される前に404エラーが表示される。
ちゃんと指定したファイルが存在するかチェックすること。

AmazonのURL短縮ブックマークレットを晒してみる

ブックマークやら、ブックマークバーに入れておいて、Amazonの該当ページでポチッとな。でOK。

以下のものをURLに1行で叩き込む。

javascript:var%20asin=document.getElementById(‘ASIN’).value;
var%20link=’http://amazon.jp/dp/’+asin;var%20x=prompt(‘Amazon%20%E7%9F%AD%E7%B8%AEURL’,link);

もしくは以下のリンクをそのままコピーしてもOK。ブラウザによっては、ドラッグして、ブックマークバーとかに持っていくだけで平気かな?
Amazon短縮

以下参考サイト。
Creazy!
http://creazy.net/2008/05/amazon_short_url_bookmarklet.html
狐の王国
http://www.foxking.org/oldsite/?20070308S1

mod_rewriteのメモ

mod_rewriteでいくつかやったので、それをメモしておく。
以下2行を忘れずに。

RewriteEngine on
RewriteBase /

ホスト名の統一

RewriteCond %{HTTP_HOST} ^(hoge.com)(:80)? [NC]
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ http://www.hoge.com/$1 [R=301]

RewriteCond %{HTTP_HOST} ^(hoge.com)(:443)? [NC]
RewriteCond %{SERVER_PORT} ^443$
RewriteRule ^(.*)$ http://www.hoge.com/$1 [R=301]

www無しをwww有りに統一するやり方。逆の場合には、中身を入れ替える。

特定ページへのHTTPSへのリダイレクト

httpでアクセスされたらhttpsへ転送するページ

RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(hoge/.*|hoge.php)$ https://%{HTTP_HOST}/$1 [L,R=301]

httpsでアクセスされたらhttpへ転送するページ

RewriteCond %{SERVER_PORT} ^443$
RewriteRule ^(hoge/.*|hoge.php|.*.jpg|.*.gif|.*.png|.*.css|.*.js)$ – [C]
RewriteCond %{SERVER_PORT} ^443$
RewriteRule ^(.*)?$ http://%{HTTP_HOST}/$1 [L,R=301]

ディレクトリhogeとhoge.phpを自動的にhttpsへリダイレクト。その際に、画像やJS、CSS等の外部ファイルなどは、除外指定に含んでおく。
除外しないと、htmlやphpだけhttpsで、内部の画像類などがhttpで通信してしまうため、SSLがエラーになってしまう。また、その際にJS等の中身で、読み込みエラーなどが発生していると、その部分がhttpで読み出したりするので、エラーが発生するので、コーディングの際には注意すること。

課題

RewriteCond %{SERVER_PORT} ^443$
でなく
RewriteCond %{HTTPS} off
等で処理できると、きれいになるのだが、ちゃんと動作しなかったのは何でだろ?
ほかにも
RewriteCond %{REQUEST_URI} hoge.php$ [OR]
RewriteCond %{REQUEST_URI} hoge/
とかで、
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
とかけるとシンプルになるのだが・・・。いかんせん、やったサーバではうまく動作しなかった。orz