Задать вопрос
@kaw1994

Как правильно сделать url редирект в apache2?

Подскажите пожалуйста как будет правильней сделать. Установил OCS-inventory, в нем имеется 2 сайта на apache2:
my_ip/ocsreports - web - морда для взаимодействия с системой.
my_ip/ocsinventory - для подключения агентов.
Все это действо вертится на 80-ом порту. К ocsreports прикрутил https, а когда попытался прикрутить еще и редирект, то обнаружил что ocsinventory тоже попадает под редирект (соответственно все агенты перестают работать)

Использовал:
VirtualHost *:443
ServerName my_ip
DocumentRoot /usr/share/ocs/ocsreports
SSLEngine on
SSLCertificateFile ssl/cert.pem
SSLCertificateKeyFile ssl/cert.key
#SSLCertificateChainFile ssl/cert.ca-bundle
/VirtualHost


VirtualHost *:80
ServerName my_ip
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
\VirtualHost


Вопрос: Каким образом нужно настроить редирект, чтобы такого не случалось? Я догадываюсь, что нужно изменить вторую конструкцию, но как - не понимаю.
  • Вопрос задан
  • 72 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@kaw1994 Автор вопроса
# принудительно https:// для всех, кроме выбранной URL
RewriteCond %{HTTPS} off
RewriteCond %{THE_REQUEST} !/ocsinventory/ [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# форсировать http:// для выбранной URLs
RewriteCond %{HTTPS} on
RewriteCond %{THE_REQUEST} /ocsinventory/ [NC]
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
RewriteCond %{HTTPS} off
RewriteRule (.*) https://my_ip/ocsreports  [R=301,L]


вот тут у вас RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
любой хост любой урл
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы