У меня есть проект на PHP (yii2). Была задача сделать редирект с http на https для всех страниц. Я добавил в файл .htaccess в корне проекта следующие строки:
# redirect to https
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# redirect the main page to https
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Теперь редирект работает для всех страниц, за исключением файлов. Т.е. есть файлы, которые лежат на сервере и доступ к ним можно получить так (пример):
mysite.ru/files/file.pdf
mysite.ru/files/pdf/file1.pdf
mysite.ru/files/pdf/file2.pdf
...
По этим ссылкам редиректа не происходит. ChatGPT подсказал добавить правило:
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^files/ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
но оно не работает. По https при этом перейти ко всем файлам могу.
Как решить проблему?