В настоящее время я перенаправляю все URL-адреса http на URL-адреса https, используя следующую директиву:
RedirectMatch permanent ^(.*)$ https://someserver.com$1
Теперь я застрял в сценарии, в котором мне нужно перенаправить все кроме URL-адреса вроде http://someserver.com/test или http://someserver.com/test/users или в основном все, что имеет / test, за которым следует что-нибудь.
Кроме того, я хочу перенаправить эти URL-адреса, которые имеют «/ test ..», чтобы они были обычным http, чтобы показать страницу с отказом в доступе (страницу html). Чтобы усложнить ситуацию, все запросы, которые проходят через "/", направляются на tomcat через ajp с использованием <Location />
и ProxyPass
директивы
В этом случае я вынужден использовать только RedirectMatch в основном потому, что, если мне нужно использовать Rewrite, мне придется изменить множество других конфигураций.
Можно ли использовать несколько RedirectMatch? Если да, как я могу настроить регулярное выражение для сценария выше ...
Используйте отрицательный просмотр вперед:
RedirectMatch permanent (^((?!test).)*)$ https://someserver.com$1