2008 7月の記事

RewriteBase »

CakePHP の設置時、.htaccess でつまずいた。
ローカルでは問題なかったのに、レンタルサーバにアップしたら、500エラーが発生。mod_rewrite が使えないせいかと疑ったのだが、しかし WordPress で使っているのだから、mod_rewrite は使用できるはずだ。
そこでそれぞれの .htaccess を比較すると、CakePHP のそれには Rewritebase の指定がなかったため、これを追加してみたら、あっさり動いた。
(他にも、FTP からは同階層に見えている公開エリアと非公開エリアのフルパスが実は全く違う(※1)ということを知らず、それに気づくまでにもかなりてこずったのだが、これはレンタルサーバの仕様およびドキュメント不足のせいなので、別の問題)
いつかまた同様の問題に出くわすかもしれないので、忘れないようメモしておく。

(webroot)/.htaccess

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /   # この行を追加
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>

(※1) 自分のためにメモっておくが、公開エリアと非公開エリアについて、フルパスでは全く違うのに、相対パスでは参照可能なのだ。不思議。シンボリックリンクを置いているのだろうか?(でもそれなら、フルパスでだってリンクにアクセス可能なのでは?)……もともと別の箇所で相対パスで使用してうまくいっていたから、ますますフルパスが違うなど思いもよらなかったのである。思い込みってよくないね。しかしどういう仕組みなのだろう?

Tail-Lagoon @ 16:24   |   PageUp

PHPの変数、定数、演算子 »

以下は、恥ずかしながら、つい最近知りました。

変数 $str[n] (文字列を配列に分解して返す nはオフセット)

文字列の変数は、実は各文字を一文字ずつ配列として取り出すことができる。呼び出す時は、左(文字列の頭)からのバイト数を添え字にする。

 例 :
  $str = ’012345678′;
  echo ‘$str[0] = ‘ . $str[0] . ‘<br />’;
  echo ‘$str[1] = ‘ . $str[1] . ‘<br />’;
  echo ‘$str[2] = ‘ . $str[2] . ‘<br />’;
  echo ‘$str[9] = ‘ . $str[9] . ‘<br />’;
 結果 :
  $str[0] = 0
  $str[1] = 1
  $str[2] = 2
  $str[9] =
 (注 : バイト単位で分解されるので、マルチバイトでは使用できない)

続きを読む… »

Tail-Lagoon @ 20:17   |   PageUp

書籍ISBNのチェックディジット計算と10桁⇔13桁変換 »

なんとなく、作ってみた。ただし、コード中のコメントにも書いたとおり、接頭記号 978 だけでなく、979 が増えてきたら、たぶん無効になるのだろう。
ただ変換するだけなら既に WEB 上にそういうサービスはいくつも見つかる筈なので、わざわざこんなもの作る必要はないのだけれど、ちょっと自分のページの中で(amazon へのリンクを作成するために、当面の間だけでも)使いたかったので、PHP で書いてみた。……まだきちんと検証はしていないので、間違いがないとはいえない。

続きを読む… »

Tail-Lagoon @ 13:07   |   PageUp

WordPress の記事中の文字変換 »

WordPress

 半角のシングルクォートやダブルクォートを記事本文中に使うと、表示時に勝手に変換されるなというのは以前から気づいていたのだけど……半角ハイフンを2個連続で使う(デクリメントの表現 -- )と、— (&#8211;) に変換されるとは、今日始めて気づいたよ。
 なので、半角ハイフンを連続させる時は &#45; を使わないといけないのだ。

 ちなみにシングルクォートの実体参照(エンティティ)は &#039; 、ダブルクォートは &quot; となる。
 どれもたまにしか使わないと、すぐに忘れてしまうんだよなあ。

Tail-Lagoon @ 18:01   |   PageUp

Webサイトのユーザビリティ »

『Webユーザビリティ・デザイン Web制作者が身につけておくべき新・100の法則。』石田 優子, 有限会社 アルファサラボ/インプレスジャパン

 ユーザビリティについては、これまで経験的にしか学んでこなかったのだが、何かそういう知識が一冊にまとまった本があるといいなと思っていた。で、ちょっと捜してみたら、やっぱりあるものだね(既に1年ほど前に出版されている)。ざっと目を通してみたけど、これはなかなか役立ちそうだ。

 で、紹介がてら下記に目次を付しておく。(この本の目次、第4章のあたりが誤って本文とカテゴリ分けがずれていたので、勝手に訂正してある。最近の出版物って校正が甘いものが増えている気がするよ。)
 この目次、基本的にこのままユーザビリティのチェックシートとしても使えると思う。

続きを読む… »

Tail-Lagoon @ 20:56   |   PageUp