簡體   English   中英

忽略MVC PHP中的favicon.ico請求

[英]ignore favicon.ico request in MVC PHP

經過數小時的努力並重新閱讀了我的整個代碼,我終於弄清楚了記錄在“用戶活動”表中的那個額外請求是什么。

基本上,我的MVC結構記錄用戶提出的每個請求。 因此,如果用戶轉到索引頁或進行ajax調用,則所有內容都記錄在我的表中,但問題是在每個請求上它都記錄了2條記錄,並且無法理解原因。

后來我添加了一些調試var_dumps ,發現第二個日志實際上是針對文件請求的: /favicon.ico

我將如何在路由器中忽略此設置,以便它不會生成此類文件請求的日志,而只是加載文件。 我確實需要favicon.ico並要使用它,但不希望它成為請求的一部分,也不想在每個請求上記錄它。

每頁命中現在記錄2行,正確的是1行,第二行是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());
}

只需檢查REQUEST_URI中的favicon.ico:

if ($user->isLoggedIn() && strpos($_SERVER['REQUEST_URI'],'favicon.ico') === false) {
   //your code
}

您也可以使用.htaccess來阻止這種類型的請求完全到達您的控制器。 通常,如果請求的文件不存在,則僅應打入您的php代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM