セッションを使ってログインを設定したら、うまくいかない。
入力したIDとPASSは合ってるのにログインできなかった。ログインエラーというか、エラーなのかすらわからない。何も起こらない。
間違ったIDとPASSを入れてみると、Validationは有効だった。設定通りにログインエラーと表示される。
入力値が正しいときにうまく動かない。
Sessionが消えていた。
セッションがなんで消えるのか。
CSSが原因だった。
!んなバカな!
画像やCSSで実際に存在しないパスやURLを指定していると鯖にHTTPアクセスを行う。
全て正しいパスを指定するとうまくいく。
が、いちいち修正するのもめんどい。
このアクセスを行うのは、app/webrootの中の.htaccessの
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
だそうなので
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.(cgi|css|gif|jp?g|png)$
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
こんな感じに修正すればいいそうだ。
http://mick.blog16.jp/index.php/main/2008/03/06/cakephp_session_cake_security
http://d.hatena.ne.jp/takuya15/20071109/1194576191
cakephpでセッションが消える
type Post in CakePHP,
18
12月
2009
2010年9月9日 10:37 AM
cakeのセッションが消える、
同じ症状で2日悩みました。
RewriteCondの1行で見事解決。
すっごく助かりました。
ありがとうございました!
サイトデザイン素敵ですね。
シックでバランスがよくて。
こんなかわいいフォントも初めてみました。
また見に来ます!
2010年9月18日 5:10 AM
コメントありがとうございます。
参考になったみたいで嬉しいです☆
自分も助けられました。
まさかこんな罠があるとはw
って感じですよね。^ ^
2011年6月16日 7:35 PM
RewriteCond %{REQUEST_URI} !\.(cgi|css|gif|jp?g|png)$
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
とても助かりました。
FlexとCakePHPの間でセッションがうまくつながならくってわたしも3日ほどなやんでおりました。
NotFoundが原因とは…っと絶句…
2011年9月26日 11:39 AM
CakePHPさんなかなか曲者ですね!
便利なのは間違いないんですがっ
まだまだうまく使いこなせないままちなうフレームワークもやることに…ぐはっ