RedirectMatch 将除少数 URL 外的所有 URL 重定向到 https

RedirectMatch 将除少数 URL 外的所有 URL 重定向到 https

目前,我正在使用以下指令将所有 http 网址重定向到 https 网址,

RedirectMatch permanent ^(.*)$ https://someserver.com$1

现在我陷入了一种必须重定向的场景除了一切类似这样的 URLhttp://someserver.com/test或者http://someserver.com/test/users或者基本上任何带有 /test 且后面跟着任何内容的东西。

此外,我想将这些包含“/test..”的 URL 重定向为普通的 http,以显示拒绝访问的页面(html 页面)。更复杂的是,所有通过“/”的请求都会使用和指令通过 ajp 路由<Location />ProxyPasstomcat

在这种情况下我被迫只使用 RedirectMatch,因为如果我必须使用 Rewrite,我就必须更改许多其他配置。

我们可以有多个 RedirectMatch 吗?如果是这样,我该如何为上述场景配置正则表达式...

答案1

使用负面前瞻:

RedirectMatch permanent (^((?!test).)*)$  https://someserver.com$1

相关内容