2013-06-06 2 views
1

나는 모든 요청에 ​​HTTP 할 : HTTP로 리디렉션 어떤 // anydomain/사용자/피트/: // 인트라넷/사용자/PRP/I이 현재 대부분 (작업이 어떤 mod_rewrite를은 htaccess로 상위 디렉토리

)를 .htaccess 파일과 함께 사용합니다. http://whatever/users/pete/somepagehttp://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] 

답변

0

은 아주 가까이 보인다. 대신이 코드를 사용할 수 있습니까?

Options +FollowSymLinks -MultiViews 
RewriteEngine on 
RewriteBase /users/prp/ 

RewriteCond %{HTTP_HOST} !^intranet [NC] 
RewriteRule ^(.*)$ http://intranet/$1 [L,R=302,NE] 
+0

작동하지 않았습니까? 나는 .htaccess 지시자가 하나의 디렉토리에 적용되지 않기 때문에 그것을 생각한다. 나는 이것을 테스트하기 위해 커스텀 헤더를 추가했다 : 'Header set x-test'hi " '/var/www/users/pete/.htaccess 그리고 응답으로 그것을 만들지는 않을 것이다. – Pete

+0

.htaccess 상단에 약간의 가비지 텍스트를 생성하고 500 내부 오류가 발생하는지 확인할 수 있습니다. – anubhava

+0

네 말이 맞아, 내가 다시 가져가. /var/www/users/pete/.htaccess 상단에있는 쓰레기는 500 – Pete