2014-10-28 3 views
1

내 목표는 내 사이트의 admin 디렉토리에 HTTPS를 적용하는 것입니다. 그러나 일반적인 방법을 사용하면 비정상적인 결과가 발생합니다. 여기 .htaccess의 내용은 다음과 같습니다 그러나디렉토리에 대한 HTTPS 리디렉션이 올바르게 작동하지 않습니다.

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} admin 
RewriteRule ^(.*)$ https://www.domain.com/admin/$1 [R,L] 

, 내가 대신이 https://www.domain.com/admin/admin/home.php에 내 보냅니다 https://www.domain.com/admin/home.php로 리디렉션의, http://www.domain.com/admin/home.php을 열 때.

이렇게 URL의 admin/ 부분을 두 번 생성합니다.

.htaccess의 마지막 줄을 RewriteRule ^(.*)$ https://www.domain.com/$1 [R,L] (나에게 의미가 없지만 여전히 시도해 보았습니다)로 변경해 보았습니다. 잘못된 URL로 리디렉션되어 더 혼란 스러웠습니다.

중요한지 잘 모르겠지만, [R,L][L,R=301]으로 대체하려고 시도했지만, 아무렇지도 않게 SO의 다른 곳에서 제안했습니다.

왜 이런 일이 발생하며 해결책은 무엇입니까?

답변

0

대상 URL에 /admin/이 올 수 있습니다. 규칙을 다음으로 변경하십시오.

RewriteEngine On 

RewriteCond %{SERVER_PORT} 80 
RewriteRule ^admin(/.*)?$ https://www.domain.com%{REQUEST_URI} [R,L,NC] 
관련 문제