Миграция HTTP на HTTPS кроме 1 каталога - PullRequest
0 голосов
/ 03 февраля 2019

Я хотел бы перенести сайт с HTTP на HTTPS, кроме одного каталога.Это не работает .... во-первых, возможно ли это закодировать?

#https exept directory dir2 
RewriteCond %{HTTPS} off 
RewriteCond %{REQUEST_URI} !dir2[NC] 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

1 Ответ

0 голосов
/ 03 февраля 2019
RewriteCond %{REQUEST_URI} !dir2[NC] 

Отсутствует разделитель пробела перед аргументом flags , поэтому он никогда не будет соответствовать предполагаемому каталогу.Он должен выглядеть следующим образом:

RewriteCond %{REQUEST_URI} !dir2 [NC]
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

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

RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Пробелы являются разделителями в файлах конфигурации Apache.


Однако это можно улучшить, поскольку вы этого не сделаетенужны дополнительные условия, если вы просто хотите исключить один каталог.Вы должны использовать шаблон RewriteRule вместо:

RewriteCond %{HTTPS} off 
RewriteRule !^dir2 https://%{HTTP_HOST}%{REQUEST_URI} [NC,L,R=301]
...