Php apache mod_重写以收集请求信息

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代码。现在,我希望登录到服务器的请求的完整信息。我不想对现有代码做任何更改。我正在使用apache mod_rewrite进行此操作。我有一个php脚本示例stats.php,看起来像这样

<?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
,您将得到一个循环:

  • 浏览器使用请求URI与服务器联系
    /some page.html
  • mod_rewrite将URI重写为
    /stats.php?some page.html
  • stats.php完成它的工作,然后将浏览器重定向到
    /some page.html
  • 浏览器使用请求URI与服务器联系
    /some page.html
  • 从#2开始重复
  • 您需要做的不是使用
    位置:
    标题进行响应,而是读取
    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,您应该将其作为自己的单独答案发布。