我正在使用带有文本文件的 apache RewriteMap 将一些旧网址映射到新网址,在我的文件(red.map)中我有
/old-awful-url.html /new-lovely-shiny-url.html
然后在我的 apache 配置中,我有:-
RewriteEngine On
RewriteMap migration txt:/home/red.map
RewriteCond ${migration:$1} /.+
RewriteRule ^(/.*) ${migration:$1} [L,R=301]
这工作正常,但现在我想在条件中添加一个通配符以匹配一些具有相同结尾但/cgi-bin/scriptname
在前面的旧网址,例如我也想匹配/cgi-bin/scriptname/old-awful-url.html
我尝试将 RewriteCond 更改为:-
RewriteCond ^.*${migration:$1} /.+
认为这将匹配文件中 url 前面的任何内容,无论有无 cgi 部分,我尝试了一些组合但没有成功,这可能吗?