Перенаправить весь трафик на HTTPS, кроме одного каталога - PullRequest
0 голосов
/ 09 октября 2018

У меня есть домен, скажем, foo.com.

Я хочу, чтобы весь трафик, указывающий на foo.com, был перенаправлен на HTTPS, кроме всех URL-адресов, начинающихся с foo.com/assets/

Могу ли я сделать это в .htaccess или файле конфигурации apache?

Я использую Ubuntu 16.04.5 с serverpilots autoSSL

Текущий файл .haccess

RewriteEngine on

# Redirect everything that starts with foo.com/play to http
RewriteCond %{HTTPS} on
RewriteCond %{THE_REQUEST} ^/play/$ [NC]
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Redirect everything that DOESN'T start with foo.com/play to https
RewriteCond %{HTTPS} on
RewriteCond %{THE_REQUEST} !^/play/$ [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Below is old configuration that hasn't anything to do with this question
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ index.php?cat=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\S-]+)/([\S-]+)/?$   ?cat=$1&page=$2 [QSA]

Так работает выше

http://foo.com> Перенаправляет на https://foo.com

http://foo.com/test>Не перенаправляет на https (но должен)

https://foo.com/play/test.jpg> Не перенаправляет на http (но должен)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...