我需要对所有传入的请求进行 301 重定向http://server.com
,http://newserver.com
除非该请求是针对我们在旧服务器上维护的任意目录列表(例如 server.com/foo 或 server.com/bar)
我很难弄清楚如何最好地设置它和正则表达式。
例如,我需要:
http://server.com/page1
重定向至http://newserver.com/page1
http://server.com/dir1/page2
重定向至http://newserver.com/dir1/page2
http://server.com/foo
正常加载http://server.com/bar/baz.html
正常加载
...因为'foo'和'bar'在我的遗留目录列表中。
我想知道是否可以这样做,以某种方式捕获列表中的匹配项,然后将其他任何内容作为通配符重定向到新服务器 - 但我无法使其工作。
有人能帮我提供一些正则表达式并重写它们吗?
谢谢
答案1
你可以尝试
RewriteCond %{REQUEST_URI} !^(/foo/|/bar/).*
RewriteRule ^(.*)$ http://newserver.com/$1 [R]