Php apache mod_重写以收集请求信息
我的服务器上有一些现有的PHP代码。现在,我希望登录到服务器的请求的完整信息。我不想对现有代码做任何更改。我正在使用apache mod_rewrite进行此操作。我有一个php脚本示例stats.php,看起来像这样Php apache mod_重写以收集请求信息,php,mod-rewrite,Php,Mod Rewrite,我的服务器上有一些现有的PHP代码。现在,我希望登录到服务器的请求的完整信息。我不想对现有代码做任何更改。我正在使用apache mod_rewrite进行此操作。我有一个php脚本示例stats.php,看起来像这样 <?php /*NOTE:This is peseudo code!!!*/ open database connection add serverinfo, referer info, script_name, arguments info to da
<?php
/*NOTE:This is peseudo code!!!*/
open database connection
add serverinfo, referer info, script_name, arguments info to database
change characters in request from UTF16 to UTF 8.
//Call header function for redirection
$str = Location : $_SERVER["REQUEST_URI"]
header ("$str");
?>
在httpd.conf文件中
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !/stats\.php
RewriteCond %{REQUEST_URI} !\/favicon\.php
RewriteRule ^/(.*)$ /stats.php?$1 [L]
RewriteLog "logs/error_log"
RewriteLogLevel 3
</IfModule>
重新启动发动机
重写cond%{REQUEST_URI}/stats\.php
重写cond%{REQUEST_URI}\/favicon\.php
重写规则^/(.*)$/stats.php?$1[L]
重写日志“日志/错误日志”
重写日志级别3
问题是,我担心从SEO的角度来看,这可能不是最好的,也可能是有缺陷的。有没有更好的方法?例如,我可以使用脚本访问日志文件吗?例如,如果您转到
http://your-domain.com/some-page.html
,您将得到一个循环:
/some page.html
/stats.php?some page.html
/some page.html
/some page.html
位置:
标题进行响应,而是读取some page.html
文件的内容并将其返回到浏览器,本质上是“代理”浏览器请求。因此,浏览器不会被重定向
至于如何在php中做到这一点,有大量的谷歌搜索结果,甚至有大量的搜索结果。我想我应该怎么做。我做了以下几件事 1) 将自定义日志格式添加到httpd.conf文件 2) 添加了一个customLog指令。通过管道将输出传输到stats.php
3) stats.php负责将代码添加到数据库。使用的是真正的php吗?因为它的语法不正确,所以什么都不起作用。@cryptic,它的语法不正确。它本来应该是伪代码。我会在课文中说清楚的。你正在写。这就是我想做的。我想我应该做什么。我执行了以下操作1)向httpd.conf文件添加自定义日志格式。2) 添加了一个customLog指令。通过管道将输出传输到stats.php。3) stats.php负责将代码添加到数据库中。@user763410,您应该将其作为自己的单独答案发布。