(Apache)RedirectMatch正则expression式匹配除列表中的所有目录

我需要301redirect请求到http://server.com所有请求被redirect到http://newserver.com除非请求是针对我们在传统服务器上维护的任意目录列表(例如服务器.com / foo或server.com/bar)

我正在努力研究如何设置这个和正则expression式

EG,我需要:

  • http://server.com/page1redirect到http://newserver.com/page1
  • http://server.com/dir1/page2redirect到http://newserver.com/dir1/page2
  • http://server.com/foo加载正常
  • http://server.com/bar/baz.html加载正常

…因为'foo'和'bar'在我的传统dirs列表中。

我想知道是否要做到这一点是如何捕捉我的列表中的匹配,然后redirect其他任何通配符到新的服务器 – 但我不能让它的工作。

任何人都可以帮助我一些正则expression式,并为那些请重写

谢谢

你可以试试

 RewriteCond %{REQUEST_URI} !^(/foo/|/bar/).* RewriteRule ^(.*)$ http://newserver.com/$1 [R]