0

默认情况下,我需要站点将所有内容重定向到 HTTPS,除非仅当 cookie 设置为“admin”时。当 cookie 设置为“admin”时,我需要整个站点为 http,而不仅仅是某些页面。到目前为止,我已经在这里和那里阅读了很多条目,但实际上没有工作。这是我在 htaccess 上的内容:

RewriteCond %{HTTP_COOKIE} (admin)
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://www.domain.org/$1 [R,L]

RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.domain.org/$1 [R,L]

也试过

RewriteCond %{HTTP_COOKIE} cookie-name=admin
RewriteCond %{HTTPS} !=off
RewriteRule ^(.*)$ http://www.domain.org/$1 [R,L]

RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_COOKIE} !cookie-name=admin
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://www.domain.org/$1 [R,L]

即使已经设置了 cookie,它仍然会将我重定向到 https。有办法吗?谢谢!

4

1 回答 1

1

尝试:

RewriteCond %{HTTP_COOKIE} !admin
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.domain.org/$1 [R,L]

RewriteCond %{HTTP_COOKIE} admin
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://www.domain.org/$1 [R,L]
于 2013-10-29T20:51:17.027 回答