Принудительно использовать HTTPS для всего сайта, но использовать HTTP в определенном каталоге - PullRequest
0 голосов
/ 17 мая 2018

Я посмотрел, но не могу найти ответ, который мне нужен - или это работает для меня. У меня есть веб-сайты, которые я заставляю https через htaccess. Существует 1 определенный каталог, который должен быть http (не может быть https).

У меня есть это в моем htaccess:

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

Это не заставляет не-https в "исключенном_каталоге". Я также попытался добавить второй htaccess в "exc_Directory", но безрезультатно. Может ли кто-нибудь помочь мне понять это правильно?

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Вы также можете попробовать оператор условия для получения дополнительных опций.Вы бы заменили свои текущие правила этим.

  <If "%{REQUEST_URI} =~ m#^/exclude_directory# && %{HTTPS} == 'on'">
     RewriteEngine On
     RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
  </If>
  <ElseIf "%{REQUEST_URI} !~ m#^/exclude_directory# && %{HTTPS} == 'off'">
     RewriteEngine On
     RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
  </Else>
0 голосов
/ 17 мая 2018

Чтобы перенаправить определенные URL-адреса каталогов с https на http, вы можете использовать следующее в /dir/.htaccess:

RewriteCond %{HTTPS} on

RewriteRule ^/?thisDir/.*$ http://example.com%{REQUEST_URI} [NC,L,R]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...