2011-01-16 2 views
3

빠른 htaccess로 질문 나는 사이트와 관련된 도메인을 변경하고 내가 설정 리디렉션 다음과 같은 유형의 만들 수있는 htaccess로 할 수 있는지 알고 싶어하고는 사이트 도메인을 변경

: http://www.oldomain.com/contact-us

리디렉션

http://www.newdomain.com/contact-us

에 기본적으로 새 도메인으로 리디렉션되지만 사용자가 입력 한 나머지 URL은 유지하는 글로벌 리디렉션

UPDATE : 나는 다음과 같은 코드를 사용하여 종료하고이 당신을 위해 무엇을해야 완벽하게

Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www.olddomain.com$ 
RewriteRule (.*)$ http://www.newdomain.com/$1 [R=301,L] 

답변

2

작동합니다.

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^oldname\.com 
RewriteCond %{REQUEST_URI} ^oldname\.com 
RewriteRule ^(.*)$ http://www.newname.com/$1 [R=301,QSA,L] 
+0

사실 위의 코드는 아무런 영향을 미치지 않습니다. 도메인을 내 자신만으로 변경했습니다. 이견있는 사람? – Batfan

3

확실한 RewriteEngine 명령을 사용하지 않고도 쉽게이 작업을 수행 할 수 있습니다. (한다 RewriteEngine 그 자리를 가지고 있지만 확실히이 같은 간단한에 필요한 아니에요.)

Redirect permanent/http://newdomain.com/ 

리다이렉트 지시어는 자동으로이 리디렉션하도록 지시 한 것 경로의 부분 다음 아무것도 유지합니다. documentation for the Redirect directive는 예를 들어 이것을 설명 :

예 : 클라이언트가 http://myserver/service/foo.txt 요청

Redirect /service http://foo2.bar.com/service 

경우, 대신 http://foo2.bar.com/service/foo.txt에 액세스 할 말 것입니다.

+0

유일한 문제는 두 도메인이 동일한 서버로 확인된다는 것입니다. 위의 형식을 두 도메인에서 모두 시도했지만 작동하지 않았습니다. – Batfan

+0

가상 호스트를 사용하고 각 서버가 자신의 디렉토리를 가리 키도록하면 .htaccess 파일을 이전 도메인의 디렉토리에 넣을 수 있고 새 디렉토리는 넣을 수 없습니다. 분명히 위의 두 가지가 같은 장소를 가리키는 경우 위의 코드는 작동하지 않습니다. 관련된 예제는이 답변을 참조하십시오. http://stackoverflow.com/questions/797257/remove-www-prefix-from-your-website/797279#797279 –

+0

내 유일한 옵션입니까? – Batfan

1

Batfan,

당신이 당신의 자신의 아파치를 제어 할 경우, 아마 당신은 httpd.conf에의하여 NameVirtualHost 지시자의 설정을 확인할 수 있습니다. http://httpd.apache.org/docs/2.0/mod/core.html#namevirtualhost

기본적으로 httpd는 이름 기반 가상 호스팅을 수행하도록 구성되어 있지 않습니다. NameVirtualHost를 통해이를 활성화해야합니다. 그런 다음 Greg Hewgill의 제안에 따라 리디렉션을 시도하십시오.

작동하는지 알려주세요.

감사합니다, 이스마엘 Casimpan

관련 문제