2014-01-30 4 views
0

5 개의 관련없는 도메인이 있습니다. 주 도메인 (패키지를 호스팅하는 것은 폴더에있는 다른 도메인의 루트를 가지고 있습니다)에서 www가 아닌 ​​모든 URL을 www로 리디렉션해야합니다. 이 같은 URL에htaccess에서 www가 아닌 ​​도메인에서 www로 www가 아닌 ​​도메인을 리디렉션하는 방법

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\.mysite\.co.za 
RewriteRule (.*) http://www.mysite.co.za/$1 [R=301,L] 
그것은 주요 도메인에 대한 일,하지만 지금은 내 모든 다른 도메인을 만드는

(예 : www.myothersite.com) 앞으로 : I 메인 도메인 내 htaccess로 파일에이 코드를 사용 :

//mysite.co.za/myotherdomain.com/home 

어떻게 예방할 수 있습니까?

답변

0

이 작업을 수행하는 올바른 방법은 다음과 같습니다

# enable rewrite engine 
RewriteEngine on 
# if requested hostname does NOT start with "www." 
RewriteCond %{HTTP_HOST} !^www\. 
# get hostname to %1 variable 
RewriteCond %{HTTP_HOST} ^([a-z]+\.[a-z]+) 
# prepend "www." to requested hostname and file 
RewriteRule (.*) http://www.%1/$1 [R=301,L] 

좀 더 구체적으로 원하는 특정 도메인 사용을 포함하는 경우 :

# enable rewrite engine 
RewriteEngine on 
# if requested hostname does NOT start with "www." 
RewriteCond %{HTTP_HOST} !^www\. 
# and if one of these hostnames, then get it to %1 variable 
RewriteCond %{HTTP_HOST} ^(domain1\.com|domain2\.com|mysite\.co\.za) 
# prepend "www." to requested hostname and file 
RewriteRule (.*) http://www.%1/$1 [R=301,L] 

그래서 RewriteCond %{HTTP_HOST} ^(domain1\.com|domain2\.com|mysite\.co\.za) 라인에서 모든 추가 할을 도메인을 리디렉션해야합니다.

1

숏 및 포함 HTTPS

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^$ 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
+0

잘 작동합니다. 고맙습니다. –

관련 문제