URLの”/”区切りも含めてcgiのパラメータに受け取る方法

wikipediaの/wiki/記事/サブ記事やCakePHPの/コントローラー/パラメータ1/パラメータ2をcgi(今回はPHP)でどうやって受け取るのか、ずっと気になっていた。素直に考えると、Webサーバ(今回はapache)が”/”をディレクトリの区切りと判断したら、index.phpを置いているディレクトリではなくて、サブディレクトリにあるファイルを探しに行きそうで、どうやったら、”/”で区切られた先も含めて受け取るのだろうかと。以前に、wikipediaに使われているWikiであるmediawikiが実現している方法を探ってみたけど、挫折した経緯がある。

で、最近、CakePHPの.httaccessを見ていたら、mod_rewriteで書き換えているのが判った。QSAフラグを使うのだと。

QSAフラグについて、説明があるWebサイトhttp://wiki.bit-hive.com/tomizoo/pg/mod_rewrite%20-%20QSA%A5%D5%A5%E9%A5%B0

Trackback URL

Leave a comment

Your comment