2017-05-05 11 views
0

이것은 아파치 질문입니다. RequestHeader를 사용하여 구성 파일에 헤더를 설정했습니다. (로컬 아파치 설치) 커스텀 PHP 스크립트의 출력에 따라 헤더를 덤프 할 수 있습니다. 헤더가 있습니다.아파치의 RequestHeader가 효과가없고 효과가 .htaccess에 표시되지 않습니다.

그러나 해당 헤더를 기반으로하는 규칙은 .htaccess에서 충족되지 않습니다. 동일한 .htaccess 파일이 다른 서버에서 예상대로 작동합니다.

내 추가 된 요청 헤더가 .htaccess에 표시되지 않는 것 같습니다. 아이디어가 있으십니까?

아파치의 conf :에 RequestHeader 집합 X 감기 - 프로토 "HTTPS" 의 .htaccess : 한다 RewriteCond %! {HTTP : X-전달됨 - 프로토} HTTPS 한다 RewriteRule^https://% {HTTP_HOST} % {REQUEST_URI} [R = 301 , L, NE]

그 루프는 영원히 반복됩니다. 그러나 AWS로드 밸런서 뒤에있는 구성에서 완벽하게 작동합니다.

답변

0

도움 주셔서 감사합니다 .420.

마지막으로 해결책을 찾았습니다 ... Apache 처리 규칙 또는 일부 행운 (내 경우에는 후자)을 명확하게 이해합니다.

실무 지침은 다음과 같습니다 단어 '초기'에 에 RequestHeader 세트 X-전달 - 프로토 "HTTPS"초기

고, unsubtle, 대규모 강조. 그게 전부 였어 ... 다른 사람들에게 어떤 용도로 제공되기를 희망한다. 테보

0

.htaccess의 다른 규칙은 서버에서 작동합니까? 그들이 그렇지 않으면 아파치 설정 파일 (당신의 배포판에 따라 httpd.conf 또는 apache2.conf)의 구성 때문일 수 있습니다.

이 파일을 편집하기. 웹 사이트의 디렉토리를 찾습니다 ... 같은 다음 AllowOverride 옵션 All

<Directory /var/www/> 
     Options Indexes FollowSymLinks 
     AllowOverride None 
     Require all granted 
    </Directory> 

변경 None을. Apache 서비스를 다시 시작하십시오.

AllowOverride 지시어는 웹 서버 내에서 .htaccess를 사용하여 디렉토리별로 Apache 구성을 무시할 수 있도록합니다. See this doc for details