2017-10-26 4 views
0

와일드 카드 SSL을 사용하여 example.com 웹 사이트를 받았습니다. 그래서 하위 도메인에 도달하려고 할 때마다 abc.example.comexample.com으로 다시 리디렉션합니다. 리디렉션을 중지하려면 어떻게해야합니까? 나는 .htaccess 파일에 조건을 추가하면 문제를 해결할 수 있지만 그때 내가 찾은 모든 대답에는 조건이 다르다는 것을 알았습니다. 잘못된 것을 변경하면 전체 사이트가 망가질 것입니다.와일드 카드 중지 SSL을 사용하여 하위 도메인을 기본 도메인으로 리디렉션

이 하위 도메인의 .htaccess 파일입니다 :

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{HTTPS} !=on 
    RewriteRule .* - [E=CANONICAL:http://abc.example.com%{REQUEST_URI},NE] 
    RewriteCond %{HTTPS} =on 
    RewriteRule .* - [E=CANONICAL:https://abc.example.com%{REQUEST_URI},NE] 
</IfModule> 

그래서 나는 리디렉션을 중지하기 위해 어떤 조건을 추가해야합니까? 도움이된다면 두 웹 사이트 모두 WordPress를 사용하고 있으며이 코드는 # BEGIN W3TC CDN 아래에 있습니다.

+1

ServerFault.com 물어 더 나은 장소입니다 : 바로 오늘의 일에서 SSL과 나이를 시행 고려 한편

RewriteRule .* - [E=CANONICAL:https://%{HTTP_HOST}%{REQUEST_URI},NE] 

다음 Host 헤더에게 초기 요청의 일부로 보낸 클라이언트/브라우저를 사용하여 전문 웹 서버 구성에 대한 질문. – Barmar

답변

0

다시 작성 규칙 은 바보 인 경우 (SSL 적용)으로 보이므로 실제 브라우저를 리디렉션하는 정확한 코드인지 궁금합니다. 나는 리디렉션을하고있는 Wordpress라고 생각합니다. 데이터베이스를 복사하고 새 DB에서 적절한 행을 업데이트하는 것을 잊었습니까? 나는 일반적으로 내가 (귀하의 경우 사본)를 이동하는 워드 프레스 사이트 필요로 할 때이 스크립트를 사용 :

SET @oldsite='http://example.com'; 
SET @newsite='https://abc.example.com'; 
UPDATE wp_links SET link_url = replace(link_url, @oldsite, @newsite); 
UPDATE wp_options SET option_value = replace(option_value, @oldsite, @newsite) WHERE option_name IN ('home', 'siteurl'); 
UPDATE wp_posts SET guid = replace(guid, @oldsite, @newsite); 
UPDATE wp_posts SET post_content = replace(post_content, @oldsite, @newsite); 
UPDATE wp_postmeta SET meta_value = replace(meta_value, @oldsite, @newsite); 

변경 적절한 처음 두 줄/변수를, 그 실행 문제 사이트의 데이터베이스에 대해.

두 번째로, 사람들을 abc으로 하드 리디렉션하지 않으려면 호스트를 하드 코딩하지 마십시오.

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{HTTPS} off 
    RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L] 
</IfModule> 
관련 문제