完整 URL 的 Apache RewriteMap 语法

问题描述 投票:0回答:1

我有一个重写地图,其中包含大约 5000 个条目,如下所示:

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

对于每个条目的源域,例如。上面的

example.com
是相同的,但是目标域上面的
example.net
是不同的域。路径模式也会随着每个 URL 的变化而变化(我希望我可以发布 2 个以上的链接!)

到目前为止我所拥有的是:

RewriteEngine On

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

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

我似乎无法获得

RewriteCond
RewriteRule
指令的正确语法,如果有任何帮助,我将不胜感激。

apache mod-rewrite
1个回答
2
投票

如果我理解正确的话,你希望重写映射的键是当前的URL,然后找到匹配的重定向。

然后你可以使用:

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

© www.soinside.com 2019 - 2024. All rights reserved.