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

时间:2012-04-10 23:00:55

标签: php request uri favicon

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

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

我还记录流量输出。我已经注意到$ _SESSION ['landing']的两种条目虽然没有多大意义。我会看到:“favicon.ico”或“ie8.css”

Favicon只是一个图标:

<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']?

2 个答案:

答案 0 :(得分:0)

我知道可能导致此类错误的3个原因......

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

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

  3. 有人搞乱你的服务器......

  4. 我希望这会有所帮助

答案 1 :(得分:0)

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

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

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

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

但是我对favicon.ico的链接是相对的,而不是绝对的,即favicon.icon而不是/favicon.ico。所以apache正在寻找/county/favicon.ico而不是/favicon.ico。并且RewriteRule将它发送到county.php。

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

我预先设置了斜线并且它有效。为了更好的衡量,我添加了另一条规则:

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

以防万一。