Как использовать htaccess для переключения с https на http - PullRequest
2 голосов
/ 17 марта 2009

Ну, у меня есть сайт, который использует относительные пути для всех URL-адресов. Я только что добавил корзину, чтобы две или три страницы оформления заказа использовали HTTPS вместо HTTP. Моя проблема заключается в том, что пользователь проходит через середину оформления заказа и нажимает на ссылку в навигации или что-то еще, что ему кажется на этой странице с HTTPS, когда это страница, которая не требует этого (и в некоторых случаях не может справиться с этим из-за внешних файлов, например, GoogleMaps.js)

Ответы [ 3 ]

3 голосов
/ 17 марта 2009

На самом деле удивил себя и взломал что-то вместе. Перенаправляет все, что не www.domain.com/checkout

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^(/checkout)
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
2 голосов
/ 17 марта 2009

вы можете попробовать сделать что-то вроде

RewriteCond %{SERVER_PORT} !^(80|8080)$
RewriteCond %{REQUEST_URI} !^(checkout|order|etc)$
RewriteRule ^(.*)$         http://yoururl$1

Я не уверен, что это работает, потому что я не тестировал его, но вы можете использовать идею тестирования {SERVER_PORT}. Надеюсь, это поможет

0 голосов
/ 17 марта 2009

Вам не нужна дополнительная директива RewriteCond для исключения /checkout/…:

RewriteCond %{HTTPS} on
RewriteRule !^checkout(/|$) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...