2016-12-28 1 views
2
을 재

내가 시도하고 오 그래서 난 내가 테스트를위한 URL에서 HTTPS를 제거 할 때25 %는 URL

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{SERVER_NAME}/$1 [B,R,L] 

하지만, 그것은 리디렉션 htaccess로이 사용하고 http로 모든 비 HTTPS URL을 리디렉션 https로 설정되지만 https://example.com/%25myfile.php

%25이 URL에 추가되어 링크가 발견되지 않습니다. 위의 실수를하고 있습니까? 위의 코드와 같이 Apache: %25 in url (400 Bad Request)을 따라 플래그 B를 추가했지만 작동하지 않습니다.

감사합니다.

답변

2
이 규칙과 규칙을 변경

:

RewriteEngine On 

RewriteCond %{HTTPS} off 
RewriteRule^https://%{SERVER_NAME}%{REQUEST_URI} [NE,R=301,L] 
  • NE 플래그는 특수 문자를 인코딩 방지 할 수 있습니다.
  • %{REQUEST_URI}은 현재 디렉토리와 관련이없는 원본 URI를 사용합니다.

변경 사항을 테스트하기 전에 브라우저 캐시를 지우십시오.

+1

고맙습니다, 그 일을했습니다 :) –