2013-10-04 3 views
0

У меня есть следующее, которое перенаправляет все HTTP: // запросы на HTTPS: // (см. Ниже). Тем не менее, я хотел бы сделать это ТОЛЬКО для 1 папки под названием «учетная запись».Перенаправить все HTTP на HTTPS только для одной папки

Так что только запросы к http://www.mydomain.com/account превратились бы в https://www.mydomain/account.

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

Может ли кто-нибудь помочь?

--- UPDATE ---

обратите внимание, что я хотел бы, чтобы обеспечить все запросы вне этой папки остается нормальным HTTP и не HTTPS.

+0

Если у вас есть сертификат для домена, почему бы вам просто не направить весь трафик на https? –

ответ

0

Try:

RewriteEngine On 
RewriteCond %{HTTPS} !on 
RewriteRule ^account(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R] 

(.*) шаблона, который вы имели до совпадения каждого запроса, ^account(.*)$ модели соответствует только запросам, которые начинаются с /account


Для предотвращения других запросов от использования SSL :

RewriteCond %{HTTPS} on 
RewriteRule !^account http://%{HTTP_HOST}%{REQUEST_URI} [L,R] 
+0

Спасибо @Jon Lin. Если бы совпадение с такой папкой: http://www.mydomain.com/something/account? Я хотел бы убедиться, что он совпадает только с папкой учетной записи в корне. – Andrew

+0

@Andrew '^' гарантирует, что это должно быть в * начале * URI запроса. –

+0

Отлично, спасибо огромное – Andrew

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