完整 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}}
我有一个包含大约 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}}