перенаправить http на https через htaccess только на несколько страниц - PullRequest
0 голосов
/ 28 марта 2011

У меня есть сайт с поддержкой SSL.

Проблема: Я хочу, чтобы http перенаправлял на https только для страниц оформления заказа.

Я использую следующий код для перенаправления:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

но он перенаправляет все http в htaccess.

Что я хочу: Я хочу наложить некоторые условия на htaceess, чтобы только страницы оформления заказа перенаправлялись на https, иначе перенаправление не будет выполнено.

Ответы [ 2 ]

0 голосов
/ 15 июня 2016

Следующий фрагмент кода решает мою проблему (когда я использовал его в API).Это может также решить вашу проблему.Попробуйте.

Итак,

# For redirecting HTTP to HTTPS, comments are line by line
# below line checks for https flag
RewriteCond %{HTTPS} off
# below line excludes the mentioned URIs from redirection
RewriteCond %{REQUEST_URI} !^/(myFirstUri|mySecondUri|myThirdUri)
# below line redirects all other URIs except the ones that are mentioned above
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

Итак, все, что происходит здесь, заключается в том, что все мои запросы будут перенаправлены на https, кроме следующих

* 1007.*

abc.123 / myFirstUri станет http://abc.123/myFirstUri

abc.123 / myFirstUri / qw / etc также будет перенаправлено, как указано выше

И другиезапросы будут перенаправлены на https, например

abc.123 / test становится https://abc.123/test

0 голосов
/ 28 марта 2011

Вы должны отлавливать запросы на страницы оформления заказа, приходящие на порт 80

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} your-checkout-uri-pattern
RewriteRule ^(.*)$ https://your-sslized-site/$1 [R,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...