env=HTTPS
을 사용하여 헤더를 설정할 때이를 어렵게 만드는 Apache 2.2의 이상한 버그 (Apache 2.2.15에서 확인 됨)에주의하십시오. 어떤 이유로 든 env=HTTPS
이 리디렉션을 제어하는 데 사용되는 경우에도 RewriteCond %{HTTPS}
을 사용하더라도 리디렉션 중 실행되지 않습니다. env=X_HTTPS
이 평가 될 때 그래서 HTTP 엄격한 전송 보안 (HSTS)을 가능하게 내 구성, 나는 HTTPS
와 같은 값을 가지고 X_HTTPS
라는 환경 변수를 만들한다 RewriteRule을 사용하여 사용하지만, 인은 null로 설정되지 않습니다
SetEnv HSTS "max-age=31536000; includeSubDomains; preload"
# For some reason in Apache 2.2, HTTPS env variable is not available during redirects
RewriteCond %{HTTPS} on
RewriteRule ^.*$ - [ENV=X_HTTPS:%{HTTPS}]
# Set HSTS Header if the page is delivered via SSL
Header always set Strict-Transport-Security %{HSTS}e env=X_HTTPS
# Redirect SSL-only non-www page to www and quit
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*)$ https://www.%{SERVER_NAME}%{REQUEST_URI} [R=303,L]
# Redirect ANY non-SSL page to SSL
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=303,L]
Apache 구성? 어떤 프로그래밍 언어를 통해? –