【发布时间】:2016-09-22 19:55:21
【问题描述】:
我正在使用带有文本文件的 apache RewriteMap 将一些旧 url 映射到新 url,在我的文件 (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 部分,我尝试了一些组合都没有成功,这可能吗?
【问题讨论】:
标签: apache mod-rewrite url-rewriting rewritemap