Htaccess HTTPS перенаправление - PullRequest
1 голос
/ 05 июля 2011

Я пытаюсь заставить мой файл .htaccess перенаправлять только определенные страницы / папки на https, и если это не те страницы, которые должны быть зашифрованы, то он должен застрелить пользователя на страницу http. Также я хотел бы иметь возможность перечислить определенные папки, которые могут быть HTTP или HTTPS

Вот то, что я пытался использовать, записывая сам. Но, похоже, не все работает правильно.

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /

RewriteCond %{SERVER_PORT} 80
RewriteCond $1 ^(myaccount|payment\.html)
RewriteRule ^(.*)$ https://www.domain.com/$1 [R=301,L]

RewriteCond %{SERVER_PORT} 443
RewriteCond $1 !^(myaccount|payment\.html)
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
</IfModule>

Ответы [ 2 ]

1 голос
/ 05 июля 2011

Вы проверяете литерал $1 в своих шаблонах RewriteCond.Должно быть:

RewriteCond %{REQUEST_URI} ...stuff to match against here...
0 голосов
/ 05 июля 2011

Это должно делать то, что вы хотите.

RewriteCond %{SERVER_PORT} 443 [NC]
RewriteCond %{REQUEST_URI} !^/(myaccount|payment)\.html [NC]
RewriteRule . http://www.domain.com/%{REQUEST_URI}/ [R=301,L]
...