3

我记录进入我网站的流量。我通过查看用户访问的第一页的 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'] ?

4

2 回答 2

0

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

  1. 错误 URL 重定向 .... 尝试实现干净 URL 时 ....

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

  3. 有人在弄乱您的服务器....

我希望这有帮助

于 2012-04-10T23:09:42.977 回答
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]

以防万一。

于 2013-01-31T08:15:39.060 回答