Apache MatchRedirectexception正则expression式

我想redirect任何URL为Https并且没有以“system_”开头的URL到同一个URL。

对于这个url exapmle:

https://exsite.tld/some/thing/that/not/start/with/pattern 

至 :

 http://exsite.tld/some/thing/that/not/start/with/pattern 

但是这个url:

 https://exsite.tld/system_aas3f4 

不应该redirect。

我尝试:

  RedirectMatch ^/?((?!(system_)).*) http://exsite.tld/$1 

但它不会工作。 我不知道有什么问题。

改用重写。 尝试类似

 RewriteEngine on RewriteCond %{HTTPS} =on RewriteCond %{REQUEST_URI} !^/system_ RewriteRule ^/(.*) http://exsite.tld/$1 [R=301,L] 

应该这样做。 请在实时环境中执行之前进行testing。

这些规则的状态是:1.启用重写引擎,2.检查HTTPS是否打开,3.检查URIpath是否不以system_ 。 如果上述两个条件都成立,则对所有剩余的URI重写为您的域的http版本。