2014-03-19 43 views
3

我在httpd.conf中有一个约200个apache mod_rewrite规则的网站,在redhat的apache webserver上运行。如何获取mod_rewrite重定向的分析统计信息?

下面是一个规则的例子,他们大多是重定向到真正长URL短网址:

RewriteRule ^grad2014/?$ /registration-and-records/graduation/live/index.html [R=301,L] 

我一直要求得到这些重定向的一些网站分析。

“有多少人使用了URL mysite.com/grad2014?” - 嗯,我真的不知道,因为/ grad2014不存在于网络服务器上,并且google analytics设置在index.html页面上。

我似乎没有看到access.log中的任何快捷方式。有另一种方法可以查看哪些网址重定向最受欢迎?有没有办法开始记录这个?

回答

5

的一种方式,你可以做到这一点:

添加改写比赛的目标网址查询参数:

RewriteRule ^grad2014/?$ /registration-and-records/graduation/live/index.html?rr=$0 [R=301,L] 

然后在你的GA代码,捕获URL PARAM并把它放在一个自定义变量。我不知道你是否了解custom variables任何东西,但这里是一种方式的例子来进行设置:

// example function get query param. use your own if you already have one 
function getParam(n){var n=n||'';var x=new RegExp("[\\?&]"+n.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]")+"=([^&#]*)");var r=x.exec(window.location.href);return(r==null)?'':r[1]} 

var rr = getParam('rr'); 
if (rr) { 
    _gaq.push(["_setCustomVar", 1, "Mod Rewrite Redirect URL", rr, 3]); 
} 
// your on-page trigger 
_gaq.push(["_trackPageview"]); 

注:默认GA计数的页面名称为location.pathname+location.search所以添加rr参数去该网址将影响您的网页报告。解决这个问题的最简单方法是在GA中创建一个过滤器,将其从传入页面名称(请求URI)中除去,但如果需要,可以编写一些代码以获取location.pathname+location.search减去rr查询参数并将该值填充为第二个元素在你的_trackPageview

_gaq.push(["_trackPageview","custom page name here"]); 
+0

它能够使它与外部网站一起工作吗?我可以做些什么:RewriteRule^grad2014 /?$ http://middle-man-track-traffic.com?rr=$0,以下由RewriteRule http://middle-man-track-traffic.com http://外部网站[L] – kenpeter

3

access.log应该给你你想要的,例如,

cd /var/log/apache2 || cd /var/log/httpd 

# Get a list of the 301 redirects issued. 
grep 301 access?log 


# Count the 301 redirects issued. 
grep 301 access?log | wc -l 

# Count a specific redirect 
grep 301 access?log | grep grad2014 | wc -l 
+1

也许OP是不是做得对,但他确实提到他无法在访问日志中找到网址..但即使如此,如果它是我(这只是国际海事组织),我宁愿设置一些让人们想要数字的东西:a)为自己查看数字,不要问我数字; b)数字会与网站上的其他访问者活动相关联,不只是一个简单的计数器。 –

+1

访问日志将包含条目,并且它们通常比将一个附加代码嵌入页面/模板中的一次性报告更方便。您也不会有更改/测试/发布管理以及与页面更改相关的一两个交货周期。如果它是漂亮的照片你有许多日志分析器周围:模拟,awstats,webalizer,锯木厂,仙人掌...... – arober11