2013-05-29 4 views
0

이것은 내 견과를 운전하고 있습니다. 내 서버에 blah1.com 및 blah2.com이 있습니다.마스크 된 하위 폴더 리디렉션

blah1.com/BLAHFOLDER/file.php에서 blah2.com/BLAHFOLDER/file.php로 가면 리디렉션을해야 url에 blah2.com이 표시되지 않습니다.

그러나 blah1.com/home.php를 리디렉션하지 않으려 고합니다 ... BLAHFOLDER가 포함 된 URL 만 리디렉션하고 싶습니다.

리디렉션해야하는 BLAHFOLDER에는 많은 파일이 있습니다.

내가 지금까지 들어 왔 가장 가까운 답변을

다음과 같습니다 htaccess redirection.htaccess redirection to subfolder (masked)

하지만 난 그냥 내 설치 작업을 가져올 수 없습니다.

어떤 도움이 크게 감사합니다 ..

+0

"* .b ur2에 * 표시가 없으므로 ...". 외부 리다이렉트이기 때문에 주소창에 'blah1.com'을 표시 할 수 없습니다. 어쩌면 리버스 프록시가 있지만 mod_proxy를 활성화해야합니다. –

답변

2

두 서버가 동일한 서버에있는 두 개의 다른 호스트에 있다고 가정합니다. 같은 호스트에 두 개의 도메인이 있다면 @ AbsoluteƵERØ의 대답이 효과가 있습니다! 이 blah2.com/FOLDER/에 ​​blah1.com/FOLDER/file.php처럼 모든 파일을 리디렉션합니다

RewriteEngine on 
RewriteCond %{REQUEST_URI} ^/FOLDER/ 
RewriteRule ^(.*)$ http://blah2.com/$1 [R,L] 

:

시도는 "blah1.com"호스트의 htaccess로이를 넣어 file.php 등등. FOLDER에없는 다른 항목은 리디렉션되지 않습니다.

URL "blah1.com"은 항상 주소 표시 줄에 있으며 리다이렉트 할 때 blah2.com으로 교환되지 않으므로 서버에서 mod_proxy (http://httpd.apache.org/docs/2.2/mod/mod_proxy.html)를 활성화하고 "L"플래그를 "P"플래그가 붙어 있으므로 blah1.com의 .htaccess는 다음과 같이 보입니다.

RewriteEngine on 
RewriteCond %{REQUEST_URI} ^/FOLDER/ 
RewriteRule ^(.*)$ http://blah2.com/$1 [R,P] 
+0

좋아, 완벽하게 작동하고, 가면을 찍었고, 모든 것을 얻었습니다 ... 하하, 이제 새로운 문제가 생겼습니다 : blah1.com은 SSL이 아니며 blah2.com은 SSL이고, .htaccess 파일은 blah2입니다.'RewriteCond % {HTTPS}! on' 'RewriteRule (. *) https : //blah2.com% {REQUEST_URI}' 모든 것을 엉망으로 만들었습니다. 문제를 해결하는 방법에 대한 아이디어가 있습니까? blah2 htacces에서이 줄을 제거하면 완벽하게 작동합니다. blah1.com에서는 SSL이 중요하지 않습니다. –

0

당신이 올바른 도메인 여부에 그것의 여부를 확인해야한다 :

RewriteCond %{HTTP_HOST} ^blah1\.com 
RewriteRule ^(BLAHFOLDER/file\.php) http://blah2.com/$1 [R=301,L] 

같은 물리적 호스트에 두 개의 별도의 가상 호스트를 사용하는 경우, 그런 다음 상단 행을 무시하고 blah1.com에 상주하는 하나의 규칙으로 만들 수 있습니다.

RewriteRule ^(BLAHFOLDER/file\.php) http://blah2.com/$1 [R=301,L] 
+0

그러나 두 도메인이 같은 호스트에 바인드 된 경우에만 작동합니까? OP가 쓴 것을 보면, 나는 그렇지 않다는 것을 이해합니다. – meberhard

+0

@ M-z 그럼에도 불구하고 관계없이 동일한 호스트에 있지 않고이 파일을 실행하면 해당 도메인이 일치하므로 'RewriteCond'가 불필요합니다. 나는 "내 서버"에서 두 개의 가상 호스트 또는 별칭을 실행할 가능성이 있음을 알았지 만 관계없이 둘 다 동일한 코드를 표시하고 있습니다. 그들은 앱에 로직을 쓰지 않으므로 제공 할 수있는 가장 안전한 솔루션입니다 (제공된 정보 제공). –

+0

두 도메인이 같은 호스트에 있습니다. –

관련 문제