2016-12-22 3 views
0

drupal 7을 사용하여 apache2.4 & 웹 사이트를 사용 중입니다. 웹 사이트는 포트 80에 있습니다 & ssl은 포트 443에서 활성화됩니다. 웹 사이트 관리자 로그인을 통해 홈페이지를 https로 리디렉션했지만 301 리디렉션을 확인하면 URL이 이 아닌 302 임시 리디렉션으로 리디렉션된다는 것을 의미합니다. 은 SEO 친숙한 리디렉션 방법으로 간주되므로이 대신 301 리디렉션을 사용해야합니다. 내가 지금까지 유일하게 사용 리디렉션어떻게 301 웹 사이트 포트 80과 443을 듣고 아파치에서 https로 HTTP 리디렉션합니까?

RewriteCond %{HTTP_HOST} ^domain\.com [NC] 
RewriteRule ^(.*)$ https://www.domain.com/$1 [L,R=301,NC] 

입니다하지만은 http에서 https로 리디렉션 없습니다. 심지어 다음 규칙을 시도했습니다

RewriteCond %{HTTPS} off [OR] 
RewriteCond %{HTTP_HOST} ^www.domain\.com* 
RewriteRule ^(.*)$ https://www.domain.com/$1 [L,R=301] 

누구든지 나를 영구적으로 리디렉션하는 방법을 알려줄 수 있습니다.

답변

0

귀하의 규칙은 반드시 영원히 리디렉션되어야합니다. 코드가 htaccess 위에 있는지 확인하십시오. 웹 서버 아무튼 그래서 -

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^www\.domain\.com 
RewriteRule (.*) https://www.domain.com%{REQUEST_URI} [L,R=301] 

htaccess로보다 더 좋은 방법은 가상 호스트 내가 생각하는 파일 unsing하는 것입니다

또한 내가 요청이 HTTPS에 있지 않고 도메인과 일치하는 경우 검사 할 생각 'T는 갈대에 htaccess로 필요합니다 https://wiki.apache.org/httpd/RedirectSSL

<VirtualHost *:80> 
    ServerName www.example.com 
    Redirect permanent/https://secure.example.com/ 
</VirtualHost> 
+0

내가 근처 솔루션입니다처럼 보이는 회신 주셔서 너무 감사합니다. RewriteCond % {HTTPS} 및 다음 두 줄의 첫 번째 다시 쓰기 규칙을 시도했습니다. 홈페이지에 301을 보여주고 있습니다. 하지만 추가 링크를 클릭하면 페이지가 표시되지 않고 너무 많은 리디렉션 오류가 발생합니다. –

+0

흠 .. 다른 리다이렉트 규칙을 확인해 보라. 아마 http : //로 리다이렉트가되어 리다이렉트 루프에 걸렸을 것이다. –