我有一些网站,我们主要使用mod_rewrite将旧链接重定向到新的相关网页。
问题是,我们现在每个站点都有成千上万的规则,其中一些在极端情况下模糊不清,并且已存在多年。然后有一些相互干扰和/或创建循环。真有趣。
我想做的是将mod_rewrite记录一段时间 - 让我们说几个星期,然后解析这些日志以查找已经使用过的实际重定向,然后删除任何未重定向的重定向。
问题在于:
a)它会创建非常大的日志文件,因为它会为每个请求记录至少一行(如果您使用的是更有用的日志级别,则为2),即使它刚刚通过。
b)日志不是非常有用 - 有用的一行似乎是:
1.2.3.4 - - [15/Aug/2013:03:23:57 +1000] [www.mysite.com/sid#2b5174473a38][rid#2b51748a42d0/initial] (2) rewrite '/pete' -> '/pete-website/'
但由于几乎每一行都有短语“(2)重写”,所以很难找到有用的。
我想我需要使用grep将日志缩小到有用的东西,然后用脚本来解析重写规则并找到哪些没有被使用?
我想真正的问题是,在这种情况下我肯定不是唯一的,但是我找不到其他任何人在网上任何其他地方询问或寻找答案 - 任何人都有任何想法?
谢谢!
答案 0 :(得分:0)
在你怀疑RewriteRule
的{{1}}中:
RewriteRule /old/page /new/page [R=301,E=redirectinuse]
在日志记录设置中:
CustomLog logs/old_redirections common env=redirectinuse