문제

Directory Home/Alphauser에 대한 모든 요청을 Backend/Alphauser로 보내야하지만 Home/Alphauser 디렉토리 내부의 파일에 대한 요청은 없습니다. 예를 들어:

http://home/alphauser            ->   http://backend/alphauser
http://home/alphauser/           ->   http://backend/alphauser
http://home/alphauser/icon.png   ->   http://home/alphauser/icon.png
http://home/alphauser/index.html ->   http://home/alphauser/index.html

다음과 같은 홈/ 알파우저/ 디렉토리에서 ".htaccess"파일을 만들었습니다.

RewriteEngine on
RewriteRule ^$ http://backend/alphauser [P]

Mod_rewrite는 예상대로 홈/ 알파우저/ 디렉토리 내부의 파일에 액세스 할 수 있지만 디렉토리 자체가 슬래시가 있거나없는 경우에 요청 될 때 :

http://home/alphauser
http://home/alphauser/

.. 브라우저 (Firefox)는 다음과 같은 파일 다운로드 팝업을 제공합니다.

You have chosen to open a file which
is a: httpd/unix-directory

파일의 내용은 Backend/Alphauser (URL 패턴으로 JSP에 대한 URL 패턴)의 적절한 HTML이므로 반환 된 페이로드가 정확합니다. Apache 가이 이상한 마임 유형의 "httpd/unix-directory"를 다시 보내는 것처럼 보입니다.

돕다!

도움이 되었습니까?

해결책 2

문제는 mod_rewrite와 아무 관련이 없다는 것이 밝혀졌습니다. 내 백엔드는 ContentType 헤더를 전혀 보내지 않았습니다. 일단 내가 내용 유형을 채우도록 설정하면 text/html 모든 것이 효과가있었습니다.

다른 팁

로버트,

이것은 나에게 이상한 것 같습니다

RewriteEngine on
RewriteRule ^$ http://backend/alphauser [P]

당신이 만든 정규 표현은 기본적으로 공정한 enougth와 일치하지만 URI를 백엔드로 전달하지는 않습니다.

RewriteEngine on
RewriteRule ^/alphauser/$ http://backend/alphauser [P]

또는

RewriteRule ^/$ http://backend/alphauser [P]

나는 mod_rewrite가 .htaccess 파일에서 어떻게 행동하는지 100 % 확신하지 못한다.

이것은 내 의견을 많이 이해할 것입니다. 또한 당신은 당신이 가지고 있는지 확인해야합니다. mod_proxy 그리고 mod_proxy_http 활성화되거나 작동하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top