2017-04-04 6 views
0

와 하위 디렉토리에서 프로토콜을 요청 보존 우리 가지고 HTTP> HTTPS 우리의 '최고'수준에 리디렉션 : /의/상단 하위 디렉토리 이제은 htaccess로

example.com/top/ 

:

example.com/top/sub/ 

거기서 요청 된 프로토콜을 보존하고 싶습니다.

그래서 http://example.com/top/sub/this.php 내가 그것을

'HTTP'로 남고 싶어입니다 그리고 그것은 https://example.com/top/sub/this.php을인지 나는/

가 현재 나는/상단에 htaccess로 파일이 'HTTPS'로 유지하고 싶은 경우 서브/디렉토리로 : 그것은 완벽 하위 디렉토리로 전송되는 모든 요청의 측면에서, 그래서 내가 필요 정확히하고있다

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,END] 

는 일을 할 수 있습니다.

문제는 내가이보고의 error_log에 오류 메시지를 받고 있어요된다

[REWRITE] detected external loop redirection with target URL: http://example.com/top/sub/this.php, skip. 

나는 HTTP 요청이있을 때마다 그것이이 조건을 일치 있기 때문에 나는이 메시지를 받고 있어요 이유를 이해, 나는 그것을 막을 방법을 모른다. 나는 'END'매개 변수를 사용하여 단 하나의 리다이렉션을 시도했지만, 이것이 작동하지 않거나, 적어도 예상했던대로 작동하지 않는 것처럼 보입니다.

내가 원했던 것은 프로토콜이/top/sub /에 대해 요청한 것과 동일하게 유지된다는 것입니다. 문제는/top/redirect가 모든 것을 HTTPS로 보내는 것입니다.

이것이 가능합니까?

답변

0

실제로 루프를 만들지 않고 프로토콜을 유지하는 방법이 있는지 알고 싶습니다. 그러나 리디렉션을/top /을 조정하여 만 달성 할 수있었습니다. 't match/top/sub/- 나는 그 문제를 해결책으로 생각해야했다.

누군가를 도울 수있는 희망.