toma-stkのCakePHP自習室

2008-01-21/app/webroot/.htaccess(CakePHP解析 #3) このエントリーを含むブックマーク

本日は「/app/webroot/.htaccess」を解析します。

ソースは下記のとおり。

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

</IfModule>


RewriteCond

RewriteCondはURLをRewriteする条件になります。

「%{REQUEST_FILENAME}」は「要求したファイル名(フォルダ名)が」という意味。

URL指定で、「/app/webroot/aaa」ならば「aaa」がそれに当たります。

そして「!-d」は、この例であれば「aaa」というフォルダが存在するのであればRewriteしない。「!-f」はファイルが存在するのであればRewriteしないということになります。

この処理については、phaさんが自習室で詳しくまとめられています。

http://studyroom.g.hatena.ne.jp/pha/20070511/p1


QSAとは?

次にRewriteRule ^(.*)$ index.php?url=$1 [QSA,L]ですが、

URL書き換え部分は(.*)が$1に書き換わります。

「/app/webroot/aaa」でアクセスしたら、「/app/webroot/index.php?url=aaa」となります。

後にくっついている[QSA,L]の「QSA」の意味ですが、とみぞーノートさんのサイトに詳しくまとめられています。

http://wiki.bit-hive.com/tomizoo/pg/mod_rewrite%20-%20QSA%A5%D5%A5%E9%A5%B0



次のエントリーでは「cake/bootstrap.php」を解説したいと思います。

OsmanOsman2012/08/19 10:17Now I know who the brinay one is, I'll keep looking for your posts.

fhxszsddnhfhxszsddnh2012/08/19 20:254clhI7 <a href="http://pkzssbdpvtql.com/">pkzssbdpvtql</a>

yazhedfyazhedf2012/08/21 19:42ggn9xi <a href="http://dwnckwocaqww.com/">dwnckwocaqww</a>