https 로 접속 도메인 문의 채택완료
서버에서
위와 같이 동일 도메인으로 접속했을때
http://도메인.com 으로 접속하는 방법은 잘 알고 있고 그리 운영하고 있습니다.
그런데, https 로 접속했을때는 어뗳게 하는지요?
으로 접속했을 때, www를 빼고 https://도메인.com 으로 만 접속하게 하고 싶습니다.
서버에서 http:// 에서 사용한 것처럼
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^/(.*)
위 부분을 https:// 에도 적용해 봤는데 안됩니다.
httpd-ssl.conf 안에
< VirtualHost _default_:443> # General setup for the virtual host # DocumentRoot "/usr/local/apache/htdocs" --------------- cscw DocumentRoot "/data/도메인/public_html" ServerName www.도메인.com ServerAlias 도메인.com ServerAdmin 이메일 ErrorLog "/usr/local/apache/logs/error_log" TransferLog "/usr/local/apache/logs/access_log"
# SSL Engine Switch: # Enable/Disable SSL for this virtual host.
SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "/usr/local/apache/conf/ssl_key/도메인_co_kr.crt" SSLCertificateKeyFile "/usr/local/apache/conf/ssl_key/도메인_co_kr.key" SSLCertificateChainFile "/usr/local/apache/conf/ssl_key/ChainCA.crt"
이부분에 코드를 넣으면 가능할 것 같은데,
아시는 고수분 좀 알려 주시기 바랍니다.
고맙습니다. ^^
답변 1개
.htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301]
.conf
:
.php ... 공통 호출 소스 최상단
if ( $_SERVER['HTTP_HOST']!=='도메인.com' ) { $url = (isset($_SERVER['HTTPS'])?'https://':'http://').'도메인.com'.(in_array($_SERVER['SERVER_PORT'], ['80', '443'])?'':':'.$_SERVER['SERVER_PORT']).$_SERVER['REQUEST_URI']; if ( !headers_sent() ) { // http_response_code(301); header('Location: '.$url); } else { echo ""; } exit; }
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
아주 잘 됩니다. ^^