2011-10-28 2 views
0

디렉토리로 들어오는 모든 것을 다른 디렉토리로 리디렉션하려고합니다. 내가 사용하는 RewriteRule의 명령은 다음과 같습니다rewriterule 종료 슬래시를 처리하는 방법

RewriteRule ^VirtualDirectory(.*)$ GENS/RealDirectory$1 [L,NC] 

것은 내가 쿼리가 VirtualDirectory/

내가 얻는 행동 인 것처럼 VirtualDirectory에 끝이 슬래시 쿼리를 다시 작성하는 것을 싶은 것입니다 입니다 : VirtualDirectory에

쿼리/VirtualDirectory 큰 workd하지만 brwoser에 표시된 URL이에 쿼리를 몰래 사용자없이 잘 작동합니다 : 씨족/RealDirectory/

나는 많은 것들을 시도했지만 한 그럴 수 없어내가 원하는 행동을 취하십시오. 내가

RewriteRule ^VirtualDirectory$ GENS/RealDirectory/ [L,NC] 

이 특정 사건을 처리하는 규칙을 추가하는 경우

는, 그 페이지의 모든 자원이 내부 재 작성이입니다 무슨 일 VirtualDirectory

답변

0

전에 폴더에 rewrited되어 제외하고 잘 작동합니다 후행 슬래시가 없으면 mod_dir이 처리하고 브라우저는 같은 URL로 리다이렉트하지만 후행 슬래시로 리다이렉트한다. .htaccess 파일에서 DirectorySlash Off을 사용하여 mod_dir을 끌 수 있습니다. 후행 슬래시를 항상 사용하려면 규칙을 다음과 같이 변경하십시오.

RewriteRule ^VirtualDirectory/?(.*)$ GENS/RealDirectory/$1 [L,NC] 
+0

답변 해 주셔서 감사합니다. 'DirectorySlash Off'가 내부 서버 오류를 유발합니다. 내가 주석을 달고 제공 한 규칙을 사용하면 재 작성은 훌륭하게 작동하지만 웹 페이지에만 적합합니다. 모든 ressources (그림, ...)는 http://www.mywebsite.fr/myhtaccessDirectory/GENS/RealDirectory 대신 http://www.mywebsite.fr/myhtaccessDirectory/에 다시 표기됩니다 (?). – user1018233

관련 문제