2012-01-29 12 views
0

브라우저의 동일한 디렉토리에있는 두 개의 디렉토리에서 파일에 액세스해야합니다. /public_html/www.example.com/xml/Apache Rewrite : 동일한 디렉토리에있는 두 디렉토리의 파일 표시

/XML/

/public_html/.htaccess 시각적으로

디렉토리는 다음과 같이 보일 수 있습니다

...

중요한 설명 :이 설정은 여러 도메인을 지원합니다.

/public_html/www.example1.com/

/public_html/www.example2.com/

XML 파일은 http://www.example.com/에 요청 xml//public_html/www.example.com/xml/에 있으며 파일이 해당 서버 경로에 존재하지 않으면 /xml/ 서버 경로를 확인해야합니다. 분명히 우리가 (예를 들어 www.example.com/xml/)을 /public_html을/XML/ 경로에 접근 그래서 우리가 모든 아파치 생성 된 링크가있는 디렉토리 인덱스를 볼 수 있습니다 가정 해 봅시다됩니다 브라우저에서

XML 파일 /xml/ 디렉토리의 파일에 example.com/xml/에서 액세스 할 수 있기를 원합니다.

두 디렉토리 모두에 정확한 이름이있는 파일 문제도 있습니다. /public_html/xml/ 디렉토리가 우선되어야하므로 사용자가 www.example.com/xml/1.xml을 요청한 경우/public_html/xml/1.xml에 사본이 대신 표시됩니다. 가능한 경우 /xml/1.xml입니다.

두 디렉토리의 모든 파일을 단일 디렉토리에 병합하려는 경우 다른 디렉토리의 파일에 액세스 할 수있게하기 위해 두 디렉토리 중 하나의 파일을 액세스 할 수 없게 만들고 싶지 않습니다.

이 작업은 아래의 /htaccess에있는 .htaccess 파일을 사용하여 수행해야합니다.

나는 무엇이든을 명확히하고 기권 투표를하고 기성 응답을 받아 들여서 기쁠 것이다.

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^(.*)$ - [L] 

RewriteCond /PhysicalPath2AnotherFolder/%{REQUEST_URI} -f [OR] 
RewriteCond /PhysicalPath2AnotherFolder/%{REQUEST_URI} -d 
RewriteRule ^(.*)$ /WebPath2AnotherFolder/$1 [L] 

/public_html을/XML/

에서 그 htaccess로 같은

+1

+1. 이것은 매우 유효한 시나리오이므로 왜 downvote를 얻었는지 궁금합니다. – davidethell

답변

1

뭔가 PS : PhysicalPath2AnotherFolder이있다, 그러나 포함하지 않아야, 그것은 원래 디렉토리의 webpath. 물론, REQUEST_URI에서 파일 이름 만 가져 오기 위해 추가 RewriteCond를 추가 할 수도 있습니다. 그 경우에는 (나는 그것을 테스트하지 않았다 :)).

RewriteCond %{REQUEST_URI} ^/.*?([^\/]+)$ 
RewriteCond /PhysicalPath2AnotherFolder/%1 -f [OR] 
RewriteCond /PhysicalPath2AnotherFolder/%1 -d 
RewriteRule ^(.*)$ /WebPath2AnotherFolder/$1 [L] 
+0

그것을 살펴보고 조금만 시도해보고 결과가 무엇인지 알려 줄 것입니다. 게시 해 주셔서 감사합니다! – John

+0

@ 존 죄송합니다, 오전 4시에 아무것도하려고하지 않을 것입니다.) 잠을 자 겠지만 아무도 8 시간 후에 나를 교정하지 않으면 혼자서 시도해 볼 것입니다. Btw, 당신은 이해해야합니다. 두 폴더의 색인을 제공하지 않습니다. PHP 스크립트는 둘 다에서 목록을 생성 할 수 있습니다. – Cheery

+0

나는 당신에게 어떤 것을 시도해 줄 것을 부탁하지 않았다, 나는 당신의 게시물을 인정하고 있었고, 나는 지금 내가하려고하는 RL 도구들을 돌봐 주었다. – John

관련 문제