2013-09-04 2 views
0

에서 제공됩니다. 방금 설치 한 장바구니 시스템에 문제가 있는지 또는 내가 잘못했는지 (또는 실제로 문제가있는 경우) 알 수 없습니다. -하지만 여기에 무슨 일이 일어나고 :https 페이지를 방문하면 모든 후속 페이지가 https

내 사이트에 https에서 제공되는 일부 페이지가 있습니다 (예 : 쇼핑 카트 결제). 일반 http (예 : 내 phpBB 토론 포럼) 인 다른 페이지가 있습니다.

보안 페이지를 방문한 다음 안전하지 않은 페이지로 연결되는 링크를 클릭하면 여전히 브라우저 주소창에 자물쇠 및 녹색 보안이있는 "https://www.foo.com/unsecure_stuff"으로 표시됩니다. 표시 등.

안전한 페이지를 방문하지 않으면 사이트의 나머지 부분이 정상적으로 작동합니다.

이것은 대단한 것은 아니지만 facebook 'like'버튼과 같은 몇 가지 이유는 표시되지 않습니다. 나는 또한 근본 원인이 무엇인지, 그리고 그것이 어떻게 고쳐질지를 알고 싶다.

저장소 디렉토리에는 고유 한 .htaccess가 있으며 여기에이 섹션이 있습니다. 이해할 수는 없지만 이것이 https 로의 계속되는 리디렉션의 이유입니까?

RewriteCond %{HTTP_HOST} !^$ 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
RewriteBase /store 

감사합니다 ... 확인

답변

1

당신의 대답은 정확합니다. 링크에 상대 경로를 사용하는 경우 HTTPS : //가 지속되며 해결책은 말한대로해야하며 전체 URL 경로를 사용하십시오.

그러나 내가 아는 한, 많은 링크가 있고이를 검토하고 변경하려는 경우 전체 사이트에서 SSL을 실행하는 것이 문제가되지 않습니다. 어쩌면 아주 약간의 성능 문제 일 수도 있지만, 대부분 눈치 채지 못할 것입니다. 당신이 버튼과 같은 iframe이 FB를 사용한다, 또한 HTTP vs HTTPS performance

한 다음 http 대신 // URL을 가리 킵니다 : 자세한 내용은이 참조 // 또는 https : // 참조 : Facebook 'Like' button breaks https/SSL

0

가 나는 이유를 찾은 것 같아요. 내가 방문하는 링크는 상대적이므로 "/ forum"을 예로들 수 있습니다. https가 브라우저에 있으면 상대 주소를 방문하는 것처럼 루트를 https : //로두고 상대 경로를 추가하는 것 같습니다.

여기에있는 수정 사항은 상대 경로 대신 링크의 전체 경로를 사용하는 것입니다.

관련 문제