1

古いリンクを新しい関連ページに 301 リダイレクトするために主に mod_rewrite を使用したサイトがいくつかあります。

問題は、サイトごとに数千のルールがあり、そのうちのいくつかは極端にあいまいで、何年も前から存在していることです. 次に、互いに干渉したり、ループを作成したりするものがあります。なんて楽しい。

私がやりたいのは、mod_rewrite を一定期間 (たとえば数週間) 記録し、これらのログを解析して、使用された実際のリダイレクトを見つけ、使用されていないリダイレクトを削除することです。

問題は次のとおりです。

a)リクエストが通過するだけであっても、リクエストごとに少なくとも1行(より有用なログレベルを使用している場合は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) rewrite」というフレーズがあるため、有用なものを見つけるのはかなり困難です。

grep を使用してログを便利なものに縮小し、スクリプトを使用して書き換えルールを解析し、使用されていないものを見つける必要があると思います。

本当の問題は、確かに私はこの状況でユニークではありませんが、それについて尋ねたり、ウェブ上の他の場所で答えを見つけたりする人を他に見つけることができないということです-誰か何かアイデアを持っていますか?

ありがとう!

4

1 に答える 1

0

条件付きログを使用します。

あなたRewriteRuleの では、あなたは古いと思われます:

 RewriteRule /old/page /new/page [R=301,E=redirectinuse]

ロギング設定で:

 CustomLog logs/old_redirections common env=redirectinuse
于 2013-08-14T21:44:10.860 に答える