PHP 文档的REQUEST_URI是“favicon.ico”或样式表的文件名


REQUEST_URI of a php document is "favicon.ico" or a stylesheet's filename

我记录进入我网站的流量。我通过查看用户访问的第一个页面的REQUEST_URI来获得用户的登录页面。该网站都是php,因此每个页面都包含一个文件,其中包括:

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

我还记录出去的流量。 我注意到 $_SESSION['着陆'] 有两种条目,尽管这不太有意义。我会看到:"favicon.ico"或"ie8.css"

图标只是一个网站图标:

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

ie8.css是一个样式表,它修复了一些问题,使它们在IE8中看起来正确。我像这样包含它:

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

为什么这些会显示为 php 文档的 $_SERVER['REQUEST_URI']?

我知道这

可能会导致此类错误的 3 个原因......

  1. 错误网址重定向....尝试实现干净的网址时....

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

  3. 有人在搞砸您的服务器....

我希望这有帮助

这是为了引导我朝着正确的方向前进。我正在使用重写规则来模拟"县"目录,例如:

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

将县与看起来像/圣罗莎的城市区分开来。这是规则:

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

但我与favicon的链接.ico是相对的,不是绝对的,即 favicon.icon而不是/favicon.ico.所以阿帕奇正在寻找/county/favicon.ico而不是/favicon.ico.重写规则正在将其发送到县.php。

结果是$_SERVER['REQUEST_URI'] /favicon.ico.

我在斜杠前面加上了它,它起作用了。为了更好地衡量,我添加了另一个规则:

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

以防万一。