Я хочу перенаправить любой URL-адрес, который является Https и не начинается с "system_", на тот же URL-адрес с http.
например, для этого URL:
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
Не следует перенаправлять.
Я пытаюсь:
RedirectMatch ^/?((?!(system_)).*) http://exsite.tld/$1
но это не сработает. Не знаю, в чем проблема.
Вместо этого используйте перезапись. Попробуйте что-нибудь вроде
RewriteEngine on
RewriteCond %{HTTPS} =on
RewriteCond %{REQUEST_URI} !^/system_
RewriteRule ^/(.*) http://exsite.tld/$1 [R=301,L]
должен это сделать. Пожалуйста, проверьте его перед внедрением в живую среду.
В этих правилах указано: 1. включить механизм перезаписи, 2. проверить, включен ли HTTPS, 3. проверить, не начинается ли путь URI с system_
. Если обе два вышеуказанных условия верны, выполните перезапись в http-версию вашего домена для всех оставшихся URI.