1
나는 모든 요청에 HTTP 할 : HTTP로 리디렉션 어떤 // anydomain/사용자/피트/: // 인트라넷/사용자/PRP/I이 현재 대부분 (작업이 어떤 mod_rewrite를은 htaccess로 상위 디렉토리
)를 .htaccess 파일과 함께 사용합니다.http://whatever/users/pete/somepage
은
http://intranet/users/pete/somepage
으로 리디렉션됩니다. 한 가지 경우를 제외하고는 내가 말할 수있는 한 모든 것이 잘 작동합니다. 후행 슬래시가없는
http://whatever/users/pete
에 대한 요청은
http://intranet/users/pete//var/www/users/pete
으로 리디렉션됩니다.
/var/www/users/pete
에 대한 요청은 /var/www/users/.htaccess
규칙이 적용된 경우에만 존재하기 때문에 직감이 있습니다. 대신 Apache가 도움이되고 /var/www/users/pete
을 /var/www/users/pete/
으로 지정하고 RewriteBase가 적용되지 않습니다.
/var/www/users/pete는 내 개발 샌드 박스입니다.
가상 호스트 문서 루트 등의 설정 파일/정의,의/var/www가있다/아파치는/사이트-가능/기본
#/var/www/users/pete/.htaccess
RewriteEngine on
RewriteBase /users/pete
RewriteCond %{HTTP_HOST} !^intranet [NC]
RewriteRule ^(.*) http://intranet/users/pete/$1 [L,R=302,NE]
작동하지 않았습니까? 나는 .htaccess 지시자가 하나의 디렉토리에 적용되지 않기 때문에 그것을 생각한다. 나는 이것을 테스트하기 위해 커스텀 헤더를 추가했다 : 'Header set x-test'hi " '/var/www/users/pete/.htaccess 그리고 응답으로 그것을 만들지는 않을 것이다. – Pete
.htaccess 상단에 약간의 가비지 텍스트를 생성하고 500 내부 오류가 발생하는지 확인할 수 있습니다. – anubhava
네 말이 맞아, 내가 다시 가져가. /var/www/users/pete/.htaccess 상단에있는 쓰레기는 500 – Pete