2015-09-06 2 views
-1

Я пытаюсь перенаправить трафик в одной папке с использованием файла apache2 .htaccess, который я разместил в yourfolder. Тем не менее, я получаю «Эта веб-страница имеет цикл переадресации» всякий раз, когда я посещаю эту папку или подпапки. Любая идея, почему это не летает?HTTPS цикл перенаправления для одного правила папки

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} yourfolder 
RewriteRule ^(.*)$ https://www.yourdomain.com/yourfolder/$1 [R,L] 

EDIT: Позвольте мне пояснить, что я пытаюсь перенаправить http://www.yourdomain.com/yourfolder к https://www.yourdomain.com/yourfolder.

+2

Почему вы ожидаете, что это должно быть не петлей? Вы перенаправляетесь из 'yourfolder' в' yourfolder'. – arkascha

+0

, потому что входящий трафик на 80, перенаправляет на 443. два разных запроса. – UltrasoundJelly

+0

Действительно, это правильно. Так как ваш собственный ответ далее показывает, что для этого должны быть особые условия, чтобы быть петлей. – arkascha

ответ

1

я понял это. Я добавил условие, которое проверяет, был ли SSL отключен, это работает:

RewriteEngine On 
RewriteCond %{HTTP:X-Forwarded-SSL} off 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} yourfolder 
RewriteRule ^(.*)$ https://www.yourdomain.com/yourfolder/$1 [R,L] 
1

Ваше правило перезапись соответствие каждой странице, в том числе и тот, который вы пытаетесь перенаправить пользователя на

+0

Хороший момент, я думаю, что у меня нет владения этими правилами перезаписи. Я пытаюсь перенаправить 'http: // www.yourdomain.com/yourfolder' на' https: // www.yourdomain.com/yourfolder'. – UltrasoundJelly

+0

Попробуйте добавить исключение, например: если не просто «ваша папка», а затем переадресовать на https://www.yourdomain.com/yourfolder/$1 –

Смежные вопросы