1

数時間格闘し、コード全体を読み直した後、最終的に、ユーザー アクティビティ テーブルに記録された追加のリクエストが何であるかを突き止めました。

基本的に、私の MVC 構造は、ユーザーが行う各リクエストをログに記録します。したがって、ユーザーがインデックス ページに移動するか ajax 呼び出しを行うと、すべてがテーブルに記録されますが、問題は、要求ごとに2 つのレコードが記録され、その理由を理解できなかったことです。

後で、いくつかのデバッグvar_dumpsを追加したところ、2 番目のログが実際にはファイル要求用であることがわかりました: /favicon.ico

この種のファイル要求のログを作成せずにファイルをロードするように、ルーターでこれを無視するにはどうすればよいでしょうか。私はfavicon.icoが必要で、それを使いたいのですが、それをリクエストの一部にしたくなく、リクエストごとにログに記録したくありません。

現在、すべてのページ ヒットは 2 行を記録しています。1 行は正しく、2 行目は favicon.ico 用です。

誰かが同じ問題を抱えていたら助けてください。

編集:

ルート フォルダに favicon.ico を追加すると、リクエストは 1 つだけになることに注意してください。したがって、favicon.icon がない場合、2 つのリクエストが行われます。favicon.ico が存在しないかどうかを確認することは可能ですか? 追加のリクエストを行う必要はありません。

ここで要求されたのは、FrontController のログ コードです。

if ($user->isLoggedIn()) {
   $m_useractivity = ModelFactory::Create(array('userActivity', $user->getUID()));
   $log_id = $m_useractivity->logActivity($user->getUID(), $_SERVER['REQUEST_URI'], $a, $p, $request->getParams(), $request->browser(), $request->browserVersion(), $request->platform(), '', $request->ip(), $request->referer(), $request->getRequestMethod(), $request->type());
}
4

1 に答える 1