PhalconやらLaravelやらZendFrameworkやら、、PHPのフレームワークを使ってて「セッションがおかしい!」とお嘆きのあなたへ。

PHPでもフレームワーク、便利じゃないですか。

CakePHP、Symfony、Zend Framework、FuelPHP、CodeIgniter、Laravel、ほとんど使って、今はPhalconに落ち着いた私です。

で、つい最近そういうフレームワークを使っている人が、

「どうにもセッションがおかしい!ページ遷移してもindexコントローラを読んでる」

みたいなことを言う人がいて。確かにセッションの動きって怪しいな?と思う時あるし、特にフレームワークのライブラリとかを使っている場合、中をちゃんと読まないと不安ですよね。まあよく分からない場合はベタにセッションを扱えばいいんです。

でもね、上記のような事態に陥ってここに検索できた人に、少しでも助けになればとメモしておきます。フレームワーク、大体ルーターがついてるじゃないですか。document_rootのindex.phpがbootstrap的に走るじゃないですか。そうするとウェブサーバでURIをrewriteし、


    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]

みたいに書くじゃないですか。

話は変わるんですけど、ほとんどのブラウザはファビコン、「favicon.ico」を読み込みますよね? で、favicon.icoの実ファイルは置いてありますか?

ファビコンがリクエストされたらどうなりますか?

http://www.example.com/favicon.ico

にリクエストされて、Apacheが上記設定で、実ファイルがなかったら、

http://www.example.com/index.php

にアクセスがいきますよね?
つまりそういうことです。

誰かの助けになれば!