我的服务器上有一些现有的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>
问题是,我担心从SEO的角度来看这可能不是最好的,也可能是错误的。有没有更好的方法来做到这一点?例如,我可以将脚本用于access_log文件吗?
答案 0 :(得分:0)
比如说,如果你去http://your-domain.com/some-page.html
,你会得到一个循环:
/some-page.html
/stats.php?some-page.html
/some-page.html
/some-page.html
您需要执行的操作而不是使用Location:
标头进行响应,请阅读some-page.html
文件的内容并将其返回给浏览器,主要是“代理”浏览器的请求。因此浏览器不会被重定向。
至于如何在php中做到这一点,有很多谷歌搜索结果,甚至还有很多answers on Stack Overflow。
答案 1 :(得分:0)
1)将自定义logformat添加到httpd.conf文件。
2)添加了customLog dirctive。将输出传送到stats.php。
3)stats.php负责将代码添加到数据库中。