我正在尝试编写一个RedirectMatch
( apache
) 来匹配除一个之外的一些关键字。
...
RewriteEngine on
RedirectMatch ^/(banners|documents|images|static)/(.*)$ http://sb.amazonaws.com/$1/$2
RewriteRule ^(.*)/(vrf[0-9]+)/(.*).(js|css)$ $1/$3.$4 [PT]
我想出了这条RedirectMatch
规则,它将所有包含横幅、文档等的 url 重定向到 aws 域。
现在,我想阻止包含temp
转到 aws 域的 url。为此我添加了!temp
RedirectMatch ^/(!temp|banners|documents|images|static)/(.*)$ http://sb.amazonaws.com/$1/$2
这不允许 urlmysite.com/temp/a.jpg
去 AWS(但抱怨无限循环),但不会阻止mysite.com/images/temp/a.jpg
被重定向。此规则的正确正则表达式应该是什么?
[编辑]
- mysite.com/images/foo/a.jpg 应该去 AWS
- mysite.com/images/foo/temp/a.jpg 不应该去 AWS
- mysite.com/temp/a.jpg 不应该进入 AWS
[EDIT2] 这让我接近了我正在寻找的东西
RewriteEngine on
RewriteRule ^(images/groups/temp)/(.*)$ $1/$2 [PT]
RewriteRule ^(banners|documents|images|static)/(.*)$ http://sb.amazonaws.com/$1/$2
RewriteRule ^(.*)/(vrf[0-9]+)/(.*).(js|css)$ $1/$3.$4 [PT]