小编Veg*_*sen的帖子

mod_rewrite 不转发 GET 参数

我在我的开发机器上使用 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)

php mod-rewrite rewrite apache-2.2

9
推荐指数
1
解决办法
7710
查看次数

我们应该多久期望 400 个错误请求?

我们运行一个 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

我的假设是这些没有什么可担心的,至少当它们很少出现时。

我们在这里看到的错误数量是由断开的连接产生的还是类似的?我应该检查什么才能弄清楚?我应该让它一个人呆着吗?

http 400 bad-request apache-2.2

5
推荐指数
2
解决办法
1938
查看次数

标签 统计

apache-2.2 ×2

400 ×1

bad-request ×1

http ×1

mod-rewrite ×1

php ×1

rewrite ×1