2010-10-13 5 views
1

Mon problème est que mon site php est appelé deux fois. Mais je ne sais pas pourquoi. dans mon accès-log je reçois également deux entrées si je reload:site s'appelle deux fois?

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" 

mon error.log montre:

[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 

Que puis-je faire? Je n'ai pas de redirections, recharge aussi. en code javascript.

thx4help

pourrait y avoir un problème avec les cookies?

shell j'utilise le fichier htaccess pour obtenir le site est appelé seulement une fois?

MISE À JOUR

independend des accès journal est mon site évidemment appelé deux fois !! fait, si j'imprime un index, qui est incrémenté d'un point chaque appel, le site affiché montre uniquement les nombres impairs. il fait donc un pas de deux au lieu d'un. la fonction d'incrémentation n'est PAS appelée deux fois dans le code. et si j'imprime l'index dans un fichier texte, j'obtiens tous les nombres, pas seulement les nombres impairs. .... je ne sais pas quoi faire: -S, où chercher, quoi debug ....

ici mon 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 ?? le phénomène se produit seulement en chrome. – helle

+0

Vérifiez si vous utilisez addon adblock. J'ai eu le même problème et quand j'ai arrêté le problème d'addon résolu. – resul

Répondre

4

c'est l'une des bizarreries connues de Chrome. Il re-demande favicon.ico sur chaque appel de la page (même source de vue!) D'autres navigateurs le mettent en cache. Rien dont vous devez vous préoccuper. Assurez-vous simplement que le fichier est là pour éviter la surcharge de la 404! - par @chigley

MISE À JOUR

après avoir réfléchi à la question j'ai trouvé une autre résolution.

ajouter cette ligne dans votre fichier .htaccess:

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

VIEUX et dépréciée

hm pour être en mesure d'accepter une réponse dans ce fil ... J'ai trouvé assez facile façon de ne pas réagir sur cette demande ... mais c'est pour la seule raison

Je viens de mettre cela dans la première ligne de php de mon fichier d'index:

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

même si le favicon.ico est là cela vous aidera à éviter les doubles entrées dans vos fichiers d'erreur log. ça le rend beaucoup plus lisible alors.


vous devez savoir que je suis en utilisant un fichier .htaccess comme ceci:

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

Attendez 404 erreurs, idiot –

+0

@col. shrapnel ... mieux de cette façon ^^? – helle

7

Votre site est appelé deux fois en effet, mais votre page d'index n'est appelée qu'une seule fois. L'autre demande est à la recherche de favicon.ico, à savoir l'icône de votre navigateur affiche dans l'onglet/fenêtre votre page se trouve dans

EDIT:. @ commentaire de TokenMacGuy ci-dessous est probablement raison sur l'argent.

+0

okay mais j'imprime une variable chaque fois que l'index est appelé et obtenez deux entrées chaque appel ... ?? : -S – helle

+0

Pouvez-vous fournir le code qui imprime cette variable? –

+1

@helle - c'est l'une des bizarreries connues de Chrome. Il re-demande favicon.ico sur chaque appel de la page (même source de vue!) D'autres navigateurs le mettent en cache. Rien dont vous devez vous préoccuper. Assurez-vous simplement que le fichier est là pour éviter la surcharge de la 404! – chigley

0

Le second appel est la tentative du navigateur d'obtenir l'icône des favoris (favicon.ico). Apparemment, vous en avez un, puisque votre serveur a renvoyé le statut 200, donc pas un problème.

+1

il a retourné le statut 200 parce que le serveur web a interprété GET /favicon.ico pour appeler index.php avec un chemin d'index.php/favicon.ico. C'est plutôt agaçant! il devrait y avoir probablement un fichier favicon.ico réel pour le réparer. – SingleNegationElimination

+0

Probablement un hack mod_rewrite pour rediriger tout non-physique (fichiers/dirs) à travers index.php –

+0

la favicon est là ... hm. C'est pour un outil interne, donc le problème n'a plus de priorité à résoudre. nous utilisons Firefox maintenant au lieu de chrome ... – helle

3

C'est tout à fait normal, car ce second appel est fait pour récupérer favicon, une petite icône qui apparaît généralement sur un onglet dans le navigateur. Même si vous ne l'avez pas, les navigateurs essaieront généralement de l'obtenir.

2

la raison, pourquoi mon index.php chargé, deux fois était un autre (donc pas le favicon): dans mon .htaccess J'ai eu mon

ErrorDocument 404 

commande à la fin du fichier. mettre avant la

RewriteEngine On 

a fait l'affaire.


helle de réponse m'a conduit à une autre idée utile (assez simple): à savoir, ce qui demande appelle votre index.php, mettez simplement ce qui suit au début de celui-ci:

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