2013-02-14 2 views
0

htaccess로 간단한 작업을하려고하는데 htaccess에 대한 경험이 없습니다. 기본적으로 이것은 내가 달성하고자하는 것입니다.htaccess가 서브 디렉토리에서 대체 도메인으로 리디렉션

나는 호스팅 계정이있는 웹 사이트 (www.example1.com)를 운영하고 있습니다. 이제는 동일한 호스팅 계정을 사용하는 두 번째 웹 사이트 (www.example2.com)를 시작합니다.

물리적으로 www.example2.com의 파일은 www.example1.com/example2에 있습니다.

예상대로 사용자가 www.example1.com/example2를 작성하면 www.example2.com으로 리디렉션됩니다.

이 내가 ... 또한

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^/example1.com/ 
RewriteRule !^/example2.com/ 

그리고 일을 어떤 도움을 주시면 감사하겠습니다

Order Deny,Allow 
Deny from all 
Allow from example2.com 

을 시도한 것입니다!

답변

0
RewriteCond %{HTTP_HOST} ^(www\.)?example1\.com$ [NC] 
RewriteRule ^example2(.*) http://www.example2.com$1 [R=301, L] 

첫 번째 줄 - 호스트가 example1.com과 "www."가 일치하는지 여부를 먼저 확인하십시오.

두 번째 줄 - 경로가 example2로 시작하는지 확인합니다. 경로가 example2로 시작하는지 확인하고 www.example2.com으로 리디렉션하고 example2 다음에 기존 경로를 유지합니다.

+0

안녕하세요, David, 답장을 보내 주셔서 감사합니다. 그렇게 한 후에도 example1.com/example2로 이동해도 URI는 example2.com으로 다시 작성되지 않습니다. 왜 이런 일이 일어나는가? 감사합니다. – simplyspades

+0

먼저 규칙을 변경 한 후 서버를 다시 시작 했습니까? 너 필요해. 그렇지 않으면 example1.com의 모든 요청이 RewriteRule을 RewriteRule^(. *) $ http : //www.example2.com$1로 변경하여 example2.com으로 리디렉션되도록 규칙을 단순화하는 것이 좋습니다. R = 301, L]'이다. 그래도 작동하지 않으면 다시 쓰기 규칙에 도달하지 못했습니다 (구성의 다른 곳에서 문제 발생). RewriteCond가 example1.com과 일치하지 않습니다 (오타가 있는지 확인). 해당 규칙이 일치하면 example2 경로 일치가 실패하고 규칙의 해당 부분에 대해 작업 할 수 있습니다. –

관련 문제