2012-06-23 3 views
0

이 주제를 기반으로 여러 스레드를 읽었으나 아무 규칙도 적용되지 않았으므로 잘못된 것으로 알고 있습니다.htaccess url에서 하위 디렉토리를 제거합니다.

나는 내가 3 개 하위 디렉토리

folder2/subdirectory1 
folder2/subdirectory2 
folder2/subdirectory3 

이 Folder2 폴더 내의/var/www가

main domain folders that redirects to domain.com 
folder1 that redirects to domain1.com 
folder2 that redirects to domain2.com 

내부에서 다음 struncture 다음은 리디렉션해야 가지고 :

www.domain2.com/subdirectory1 
www.domain2.com/subdirectory2 
www.domain2.com/subdirectory3 

대신 그 중 URL2에 폴더 2가 표시되므로 목록에 표시됩니다

,451,515,
www.domain2.com/folder2/subdirectory1 
www.domain2.com/folder2/subdirectory2 
www.domain2.com/folder2/subdirectory3 

나는 두 htaccess로이 : 루트 폴더에서 Folder2 폴더

htaccess로 내부의 루트 폴더 안에 하나 하나

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/

ReWriteCond %{HTTP_HOST} domain1.com 
ReWriteCond %{REQUEST_URI} !folder1/ 
ReWriteRule ^(.*)$ folder1/$1 [L] 

ReWriteCond %{HTTP_HOST} domain2.com 
ReWriteCond %{REQUEST_URI} !folder2/ 
ReWriteRule ^(.*)$ folder2/$1 [L] 

htaccess로 Folder2 폴더

RewriteEngine On 
RewriteBase/

ReWriteCond %{HTTP_HOST} domain2.com/subdirectory1 
ReWriteCond %{REQUEST_URI} !subdirectory1/ 
ReWriteRule ^(.*)$ subdirectory1/$1 [L] 

ReWriteCond %{HTTP_HOST} domain2.com/subdirectory2 
ReWriteCond %{REQUEST_URI} !subdirectory2/ 
ReWriteRule ^(.*)$ subdirectory2/$1 [L] 

ReWriteCond %{HTTP_HOST} domain2.com/subdirectory3 
ReWriteCond %{REQUEST_URI} !subdirectory3/ 
ReWriteRule ^(.*)$ subdirectory3/$1 [L] 

에서 잘하면 내가 마지막으로 할 수있는 이 문제를 해결하십시오

+0

귀하의 재 작성 규칙이 작업을 수행하지 않는 : '한다 RewriteCond %는 {HTTP_HOST} domain2.com/subdirectory1' 아무것도 일치하지 않습니다. '% {HTTP_HOST}'는 서브 디렉토리가 아닌 도메인 부분 만 포함합니다. – Stobor

답변

0

폴더 2에 [R] 리디렉션 태그를 사용해야한다고 생각합니다. .htaccessRewriteRule.

이 방법 : Folder2 폴더에

RewriteEngine On 
RewriteBase/

ReWriteCond %{HTTP_HOST} domain2.com/subdirectory1 
ReWriteCond %{REQUEST_URI} !subdirectory1/ 
ReWriteRule ^(.*)$ subdirectory1/$1 [R] 

ReWriteCond %{HTTP_HOST} domain2.com/subdirectory2 
ReWriteCond %{REQUEST_URI} !subdirectory2/ 
ReWriteRule ^(.*)$ subdirectory2/$1 [R] 

ReWriteCond %{HTTP_HOST} domain2.com/subdirectory3 
ReWriteCond %{REQUEST_URI} !subdirectory3/ 
ReWriteRule ^(.*)$ subdirectory3/$1 [R] 
+0

여전히 domain2.com/folder2/subdirectory1을 가리 킵니다 – Xander

+0

루트 폴더에 다른 리디렉션이 필요하다고 생각합니다. $ Re [2] $ folder2/$ 1 [R]' 시도해보십시오 – Ander2

+0

그래도 불행하게도 여전히 같은 – Xander

관련 문제