Привет вот мои условия перезаписи:Проблемы при использовании апача RewriteRules
LogLevel alert rewrite:trace3
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^/(myapp)/ - [E=MY_URL:1]
RewriteCond %{ENV:MY_URL} 1
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI}
Я пытаюсь перенаправить все, что происходит в http://www.example.com/myapp/ к https://www.example.com/myapp/, но мне кажется, что я получаю бесконечный цикл, я пытался ставить 2, поэтому, если HTTPS был на нем не должен перенаправление, любая помощь будет оценена, спасибо!
UPDATE 1 я изменить его к следующему
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/myapp
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301]
Я не понимаю, часть [R = 301], но она по-прежнему дает мне ERR_TOO_MANY_REDIRECTS ошибку
Вы не сделали перенаправление на стороне клиента. нет '[R = 301]', поэтому это чисто внутреннее переписывание. поскольку он только для внутреннего использования, вы приходите в no-ssl, устанавливаете свой env var, затем вы повторно вводите переписывание, с тем, что env var все еще установлен. –
i обновил сообщение, я удалил env var – PaulMB
'r = 301' отправляет клиенту переадресацию http 301 клиенту, говоря« идите сюда », и вот ваш новый https-url. без этого вы выполняете внутреннюю переписку «внутри apache», а сам клиент будет продолжать использовать запросы, отличные от ssl. –