清理 Apache 配置中的庞大重写列表(mod_rewrite)

清理 Apache 配置中的庞大重写列表(mod_rewrite)

您将如何清理多年来积累的大量重写列表?我们的想法是删除所有被覆盖和未使用的重定向语句,同时保留所有有效的语句。

我正在考虑启用 RewriteLog 并将 RewriteLogLevel 设置为 3 或 4 大约一天,然后解析日志并识别“死”重写,将其注释掉,然后检查日志中是否有新的 404。

您是否必须进行类似的 mod_rewrite 清理以及/或者您是否有其他想法?

答案1

这项任务的难度是多方面的;如果它们没有注释,那么你必须将它们逆向工程成一些常用英语,并让其他人帮助回答“有人知道为什么会在这里吗?”之类的问题。其中一些重写可能还链接到人们仍在使用的外部(比如某个博客或论坛帖子)——我有一个几年前在论坛上的链接,人们仍然用谷歌找到它并用它来获取内容,所以我真的不能摆脱它。

最好的解决方案是在一段时间内进行一些日志监控/解析(我喜欢 AWstats),看看前门到底有哪些请求,这至少能让你了解你不能接触。然后你只需要回顾剩下的部分,希望能吸引在公司工作了很长时间的其他人来帮忙。

答案2

理论上,你可以简单地挖掘你的访问日志来查看人们请求的 URL,而不是启用 RewriteLog(这可能会影响性能)。如果你想要更花哨一点,你可以用编程方式替换你的静态 RewriteRules重写映射然后维护重写使用频率的实际统计数据。

相关内容