我在我的开发机器上使用 mod_rewrite 设置 Apache 时遇到问题。Mod_rewrite 处于活动状态,并且适用于某些规则。某些规则无法按预期工作,例如:
RewriteRule ^static/([^/]+)/([^/]+) /static.php?sISOCode=$1&sPage=$2
Run Code Online (Sandbox Code Playgroud)
在 static.php 中,我这样做(用于调试):
<?php
print_r($_GET); print_r($_POST); print_r($_SERVER); die();
Run Code Online (Sandbox Code Playgroud)
其中打印(从 $_SERVER 数组中删除了一些项目):
Array
(
)
Array
(
)
Array
(
[SERVER_SIGNATURE] => <address>Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.1 with Suhosin-Patch Server at alpha.prove.no Port 80</address>
[SERVER_SOFTWARE] => Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.1 with Suhosin-Patch
[SERVER_ADDR] => 127.0.0.1
[SERVER_PORT] => 80
[REMOTE_ADDR] => 127.0.0.1
[DOCUMENT_ROOT] => /home/veg/workspace/project
[SERVER_ADMIN] => webmaster@localhost
[SCRIPT_FILENAME] => /home/veg/workspace/project/static.php
[REMOTE_PORT] => 38954
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => GET
[QUERY_STRING] =>
[REQUEST_URI] …
Run Code Online (Sandbox Code Playgroud) 我们运行一个 Apache2 Web 服务器,它每天提供大约 2-3 百万个页面(Lighttpd 仅提供 HTML+CSS+Javascript、图像和其他内容)。我们的每日logwatch
电子邮件每天输出 3-5 个“400 个错误请求”项目。它主要是每天针对相同的 URL,但每个 URL 很少超过 1 次。列出的 URL 主要用于我们网站上的标准页面浏览(几乎每个用户都会访问的 URL)。
当 grep 中error.log
列出的 IPaccess.log
收到错误时,结果总是[error] [client xxx.xxx.xxx.xxx] request failed: error reading the headers, referer: xxx
。
我的假设是这些没有什么可担心的,至少当它们很少出现时。
我们在这里看到的错误数量是由断开的连接产生的还是类似的?我应该检查什么才能弄清楚?我应该让它一个人呆着吗?