Переадресация .htaccess на https со страницей условий - PullRequest
0 голосов
/ 31 мая 2019

У меня есть следующий .htaccess

RewriteEngine On

RewriteCond %{HTTPS} !on
RewriteCond %{REQUEST_URI} !(/webservice|/api)
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule !\.(gif|jpg|png|css|js|swf)$ index.php [L]

Я хочу, чтобы все страницы были перенаправлены на https, кроме / webservice и / api в тех двух, которые я хочу открыть как с http, так и с https.

В запросах https все работает нормально, проблема в том, что я пытаюсь получить доступ к http.

Проблемы

http://www.local.test/sub/pt-br/webservice redirect to https://www.local.test/index.php

http://www.local.test/sub/pt-br/api redirect to https://www.local.test/index.php

Есть идеи, как заставить это работать?

1 Ответ

0 голосов
/ 02 июня 2019

Изменить

RewriteCond %{REQUEST_URI} !(/webservice|/api)

на

RewriteCond %{REQUEST_URI} !^(\/webservice|\/api|\/sub\/pt-br\/webservice|\/sub\/pt-br\/api)

или

RewriteCond %{REQUEST_URI} !^\/webservice
RewriteCond %{REQUEST_URI} !^\/sub\/pt-br\/webservice
RewriteCond %{REQUEST_URI} !^\/api
RewriteCond %{REQUEST_URI} !^\/sub\/pt-br\/api
...