2010-10-13 182 views
1

我的問題是,我的PHP網站被稱爲兩次。 但我不知道爲什麼。在我的訪問日誌我也得到兩個條目,如果我重裝:網站被調用兩次?

127.0.0.12 - - [13/Oct/2010:20:41:56 +0200] "POST /index.php HTTP/1.1" 200 1493 "http://mkw-testing/index.php" "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.36 Safari/534.7" 
127.0.0.12 - - [13/Oct/2010:20:41:57 +0200] "GET /favicon.ico HTTP/1.1" 200 1498 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.36 Safari/534.7" 

我error.log中顯示:

[Wed Oct 13 21:08:35 2010] [debug] mod_deflate.c(615): [client 127.0.0.12] Zlib: Compressed 2766 to 1067 : URL /index.php 
[Wed Oct 13 21:08:35 2010] [debug] mod_deflate.c(615): [client 127.0.0.12] Zlib: Compressed 2743 to 1038 : URL /index.php/favicon.ico 

我可以做什麼?我沒有任何重定向,重新加載aso。在JavaScript代碼中。

thx4help

可能是否存在Cookie問題?

shell我使用htaccess文件得到的網站只被稱爲一次?

UPDATE

影響無關的存取權限的日誌是我的網站明明叫了兩聲!事實是,如果我打印出一個索引,每增加一個呼叫點,顯示的網站只顯示奇數。所以它只有一個而不是一個。增量函數在代碼中不會被調用兩次。如果我打印索引到一個文本文件,我得到每一個數字,不僅是奇數。 ....我不知道該怎麼做:-S,到哪裏去尋找,如何調試....

這裏我的html:

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
     <link rel="icon" href="favicon.ico" type="image/x-icon"> 
     <title>Testsuite</title> 

     <style type="text/css"> 
      ... 

     </style> 

    </head> 
    <body> 
<!--script type="text/javascript">alert("go home!");</script--> 
<p style="font-size: smaller; color: #555"> 
Testcases ID: 75<br> 
Verbleibend: 94.5 % noch zu checken...<br> 
</p> 

<div id="action"> 
<h2>Suchprofile</h2> 
<p> 
    Screen number: B01 (4)<br> 
    Pfad: /search/type<br><br> 
</p> 
</div> 

<h2></h2> 

<form name="testsuite" action="/index.php" method="POST"> 
    <p style="width: 650px;"> 
     <span style="color: gray">Ausgangassituation:</span> Der User befindet sich auf der /search/type Seite. <br> 
     <span style="color: gray">Eingabe:</span> Der User klickt auf ?Dieses Suchprofil speichern?.   <br><br> 
     Reaktionen 
     <input type="hidden" name="id_testcase" value="75" /> 
    </p> 
    <table width="650" border="1" cellspacing="0" cellpadding="0" > 
      <tr> 
      <td>Es &ouml;ffnet sich ein Eingabefeld </td> 
      <td class="checkbox"><input type="checkbox" name="requirements[]" value="103" /></td> 
     </tr> 
      <tr> 
      <td>Rechts neben dem Eingabefeld wird ein Plus-Symbol angezeigt.</td> 
      <td class="checkbox"><input type="checkbox" name="requirements[]" value="104" /></td> 
     </tr> 
     </table> 

    <br> 
    <div style="border: 1px dashed #ccc; width: 650px; background-color: #ddd"> 
    <input type="radio" name="action" value="skip" id="skip" /><label for="skip">Ignorieren</label><br> 
    <input type="radio" name="action" value="store" id="store" checked/><label for="store">Speichern</label><br> 
    <br> 
    <center> 
     <input type="submit" id="submitter" value="weiter" /> 
    </center> 
    </div> 
</form> 




    </body> 
</html> 
+0

WTF ??這種現象只發生在鉻中。 – helle 2010-10-13 19:52:57

+0

檢查您是否使用adblock插件。我有同樣的問題,當我停止插件問題解決。 – resul 2012-01-09 19:06:30

回答

4

這是Chrome的一個已知怪癖。它重新請求每個頁面調用favicon.ico(甚至查看源!)其他瀏覽器緩存它。沒有什麼需要關注的。只要確保該文件存在以避免404開銷! - 通過@chigley

UPDATE

思考404問題後,我發現了另一項決議。

加入這一行到您的.htaccess文件:

RewriteCond %{REQUEST_URI} !^/favicon\.ico [NC] 

過時且不適用

HM能夠接受這個線程的答案......我發現了一個相當容易方式不對此要求作出反應... 但它僅適用於testreason

我只是把這個在我的索引文件的第一行PHP:

if($_SERVER['REQUEST_URI'] == "/favicon.ico") return false; 

即使favicon.ico的是有這將幫助你避免在錯誤日誌文件的重複輸入。它使得它更具可讀性。


你要知道,我使用的是.htaccess文件是這樣的:

Options +FollowSymLinks 
IndexIgnore */* 
# Turn on the RewriteEngine 
RewriteEngine On 
RewriteBase/
# Rules 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^/favicon\.ico [NC] 
RewriteRule . index.php 
+0

等待404錯誤,愚蠢 – 2011-01-26 09:56:12

+0

@col。彈片...更好的這種方式^^? – helle 2011-01-26 10:13:21

7

您的網站確實是叫了兩次,但您的索引頁只被調用一次。其他請求尋找favicon.ico,即瀏覽器會在標籤/窗口的頁面駐留顯示

編輯圖標:下面 @ TokenMacGuy的評論可能是正確的金錢。

+0

好吧,但我打印出一個變量,每次調用索引,並獲得兩個條目,每次調用......? :-S – helle 2010-10-13 18:55:03

+0

您能提供打印出該變量的代碼嗎? – 2010-10-13 18:58:15

+1

@helle - 這是Chrome已知的怪癖之一。它重新請求每個頁面調用favicon.ico(甚至查看源!)其他瀏覽器緩存它。沒有什麼需要關注的。只要確保該文件存在以避免404開銷! – chigley 2010-10-13 18:59:47

0

第二個調用是瀏覽器嘗試獲取收藏夾圖標(favicon.ico)。顯然你有一個,因爲你的服務器返回狀態200,所以沒有問題。

+1

它返回狀態200,因爲網絡服務器解釋GET /favicon.ico以index.php/favicon.ico的路徑調用index.php。這很煩人!應該可能有一個真正的favicon.ico文件來解決它。 – SingleNegationElimination 2010-10-13 19:27:11

+0

可能是一個mod_rewrite破解重定向一切非物理(文件/目錄)通過index.php – 2010-10-13 19:54:13

+0

favicon是有...嗯。這是一個實習工具,所以這個問題已經沒有優先權了。我們現在使用firefox而不是chrome ... – helle 2010-10-14 14:17:39

3

這是完全正常的,因爲第二秒呼叫是爲了檢索favicon,這是一個通常出現在瀏覽器標籤上的小圖標。即使你沒有它,瀏覽器通常也會嘗試獲取它。

2

的原因,爲什麼我的index.php加載,兩次是另一個(這樣不是圖標):在我.htaccess我有我的

ErrorDocument 404 

命令在文件的末尾。把它

RewriteEngine On 

的伎倆。


赫勒的回答使我到另一個有幫助(很簡單)的想法:找出來,其請求被呼喚你的index.php,乾脆把以下在它的開頭:

file_put_contents('stats/stats.txt', $_SERVER['REQUEST_URI'], FILE_APPEND);