RewriteMap は、regilero が述べているように、実際に進むべき道です。しかし、彼のコードがどのように機能するのか理解できず、機能させることもできませんでした。1 つの問題は、それ以上の書き換えがないと仮定していることです ([L] がありません)。
Apache 構成 (.htaccess では機能しません):
RewriteMap myredirects txt:/var/www/mysite/redirects.txt
.htaccess (Apache 構成でも機能します):
RewriteCond ${myredirects:%{REQUEST_URI}} .+
RewriteRule ^ ${myredirects:%{REQUEST_URI}} [L,R=301]
redirects.txt 内 (注: スラッシュはオプションではありません)
/old /new
dbm への切り替えに余分な手間をかける価値があるかどうかはわかりません。http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritemapに記載されているように、ルックアップはとにかくメモリにキャッシュされます。
プレーン テキストおよび DBM 形式のファイルの場合、検索されたキーは、mapfile の mtime が変更されるか、サーバーが再起動されるまで、コア内にキャッシュされます。