2011-05-11 2 views
7

나는 WWW 요청에 www가 아닌 ​​요청을 리디렉션하는 방법에 아파치의 rewrite guide에 트릭을 본 적이 :에 example.com에 대한 모든 요청을 리디렉션은 정규 도메인

RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] 
RewriteCond %{HTTP_HOST} !^$ 
RewriteRule ^/(.*)   http://www.example.com/$1 [L,R] 

www.example.com.

그러나 example1.com, www.example1.com, example2.com, www.example2.com 등의 요청을 www.example.com으로 리디렉션하려면 어떻게해야합니까?

는 편집 : 여기

는 해결책 :

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] 
RewriteCond %{HTTP_HOST} !^$ 
RewriteRule ^/?(.*) http://www.example.com/$1 [L,R,NE] 

약간 다른 RewriteRule의 및

+2

'R' 재 작성 플래그의 기본값은 기본적으로 302 응답 코드입니다. 대신에 301을 원한다면 (대부분의 상황에서 생각하는 것처럼), 대신 다음과 같이 할 수 있습니다 :'RewriteRule^/? (. *) http://www.example.com/$1 [L, R = 301, NE]' –

+0

이상한데, 나에게 맞지 않거나 실패했다.'service apache2 restart' –

답변

4

'에한다 RewriteEngine'을 추가하지만 어떻게 내가 예 1의 요청을 원하는에 추가하려면 .com, www.example1.com, example2.com, www.example2.com 등을 www.example.com으로 리디렉션 하시겠습니까?

당신은 이미 그렇게했습니다. 다시 쓰기 규칙에 "HTTP_HOST가 www.example.com이 아니고 비어 있지 않으면 www.example.com으로 리디렉션됩니다"라고 나와 있습니다.

서버가 www.example.com을 호스팅하는 동일한 디렉토리의 다른 도메인을 가리 키도록 설정되어 있으면 모든 설정이 완료됩니다.

+0

그건 내가 생각한 것이지만, 처음에는 'RewriteEngine On'을 추가해야했다. – bafromca