У меня есть клиентский проект, в котором мне нужно установить HTTPS для определенной папки и установить HTTP для всех остальных.Я могу успешно применить HTTPS для папки, которую я желаю, но тогда все ссылки на остальную часть сайта заканчиваются через HTTPS.Я хотел бы иметь правило, которое заставляет запросы на что-либо «не» в защищенной папке принудительно возвращаться к HTTP.Вот что у меня есть:
RewriteEngine On
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{HTTPS} !=on
RewriteRule ^(my) https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1
'my' - это имя папки, для которой мне нужно принудительно установить HTTPS.
Есть идеи?
Обновление:Я также попытался:
RewriteEngine On
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
# Force HTTPS for /my
RewriteCond %{HTTPS} !=on
RewriteRule ^(my) https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]
# Force HTTP for anything which isn't /my
RewriteCond %{HTTPS} =on
RewriteRule !^my http://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]
# Remove index.php from URLs
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1
Но вместо того, чтобы запросы / мои были принудительно вызваны через HTTPS, теперь они просто разрешают http://www.example.com/index.php/my
:?