完整 URL 的 Apache RewriteMap 语法

Apache RewriteMap syntax for full URLs

我有一个包含大约 5000 个条目的重写映射:

http://www.example.com/some-random-url http://www.example.net/some-random-url

对于每个条目,源域(例如上面的 example.com)是相同的,但是目标域(上面的 example.net)是不同的域。路径模式也会随着每个 URL 而改变(我希望我可以 post 超过 2 个链接!)

我目前拥有的是:

RewriteEngine On

RewriteMap examplemap "txt:/etc/httpd/conf/redirect.txt"

RewriteCond ${examplemap:} !=""

RewriteRule ^/(.*) ${examplemap:} [redirect=permanent,last]

我似乎无法获得 RewriteCond 和 RewriteRule 指令的正确语法,如有任何帮助,我将不胜感激。

如果我没理解错的话,你希望rewrite map的key是当前的URL然后找到匹配的重定向

然后你可以使用:

RewriteRule .* ${examplemap:http://%{HTTP_HOST}%{REQUEST_URI}}