3 votes

REQUEST_URI d'un document php est "favicon.ico" ou le nom de fichier d'une feuille de style.

J'enregistre le trafic entrant sur mon site. J'obtiens la page de destination d'un utilisateur en regardant le REQUEST_URI de la première page sur laquelle il arrive. Le site est entièrement en php et chaque page contient un fichier qui contient, entre autres, les éléments suivants :

$_SESSION['landing']=$_SERVER['REQUEST_URI'];

J'enregistre aussi le trafic sortant. J'ai remarqué deux types d'entrées pour $_SESSION['landing'] qui n'ont pas vraiment de sens. Je vois soit : "favicon.ico" ou "ie8.css".

Une favicon est juste une favicon :

<link rel="shortcut icon" href="http://www.SITE.com/images/favicon.ico" /> 

ie8.css est une feuille de style qui corrige certaines choses pour qu'elles aient l'air correctes dans IE8. Je l'inclus comme ceci :

<!--[if lt IE 9]>
<link rel="stylesheet" type="text/css" href="stackoverflow.com/ie8.css" />
<![endif]-->

Pourquoi ceux-ci apparaîtraient-ils comme $_SERVER['REQUEST_URI'] pour un document php ?

0voto

Baba Points 49157

Il y a 3 raisons que je connais qui peuvent causer une telle erreur ...

  1. Erreur de redirection d'URL .... lors de la mise en œuvre d'une URL propre ....

  2. `AddType x-httpd-php .css .ico .xyz

  3. Quelqu'un s'amuse avec votre serveur ....

J'espère que cela vous aidera

0voto

Gee Points 1

Ceci pour m'avoir orienté dans la bonne direction. J'utilisais une règle de réécriture pour simuler un répertoire "comté", par exemple :

/county/Sonoma?1, /county/Sonoma?2, etc. 

pour distinguer les comtés des villes qui ressemblent à /Santa Rosa. Voici la règle :

RewriteCond %{REQUEST_URI} !/\.php/ [NC]
RewriteRule ^county/(.+)$ /county.php?county=$1 [L,QSA]

mais mon lien vers favicon.ico était relatif, et non absolu, c'est-à-dire que favicon.icon au lieu de /favicon.ico . Donc apache cherchait /county/favicon.ico au lieu de /favicon.ico . Et la RewriteRule l'envoyait à county.php.

Le résultat est que $_SERVER['REQUEST_URI'] était /favicon.ico.

J'ai ajouté la barre oblique et ça a marché. Et pour faire bonne mesure, j'ai ajouté une autre règle :

RewriteRule ^county/(.+/.+)$ /$1 [L]

juste au cas où.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X