2016-05-03 2 views
1

Я использую Amazon ELB с HTTPS (ELB перенаправляет весь трафик с 443 до 80) и все работает отлично.Codeigniter - перенаправить http на https за исключением одной страницы (Amazon ELB)

Теперь с помощью следующего кода Htaccess перенаправить весь запрос от HTTP к HTTPS:

RewriteEngine On 
RewriteCond %{HTTP:X-Forwarded-Proto} !https 
RewriteRule^https://%{SERVER_NAME}%{REQUEST_URI} [L,R] 
RewriteCond $1 !^(index\.php|assets) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 

и его работой большой, проблема заключается в том, что проверка здоровья Amazon ELB не удалось из-за HTTP к перенаправлению HTTPS , есть ли способ перенаправить весь трафик на https, кроме одного URL-адреса?

(Так что я могу использовать URL для проверки здоровья по HTTP и все остальное по протоколу HTTPS)

ответ

1

Попробуйте это:

RewriteEngine On 
RewriteCond %{HTTP:X-Forwarded-Proto} !https 
RewriteRule^https://%{SERVER_NAME}%{REQUEST_URI} [L,R] 

RewriteCond %{HTTPS} on 
RewriteCond %{SCRIPT_FILENAME} /specific_controller/specific_method [NC] 
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L] 

RewriteCond $1 !^(index\.php|assets) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 
Смежные вопросы