mod_rewrite documentation에는 필요한 모든 정보가 있지만 읽을 거리가 많습니다. 원하는 부분에는 두 가지 부분이 있습니다. 첫째, www.
으로 시작하지 않는 도메인과 일치해야합니다. 그런 다음 www.
접두어를 현재 URL에 붙여야합니다. 첫 번째 부분에 대한
은 (모두
RewriteCond
및
RewriteRule
에 적용되는)이있다 :
이
당신은과 패턴 문자열을 앞에 수 있습니다 '!' 문자 (느낌표)는 일치하지 않는 패턴을 지정합니다.
그래서 "호스트 이름이 www가 시작되지 않습니다." 다음과 같이 테스트 할 수 있습니다 : 두 번째 부분에 대한
RewriteCond %{HTTP_HOST} !^www\. [NC]
이있다 :
는
일반 텍스트뿐만 아니라, Substition 문자열은 규칙 조건에서와 같이 [...] 서버 변수를 포함 할 수 있습니다 테스트 문자열 (%는 {VARNAME})
그래서 실제 리디렉션은 다음과 같이 일반적인 만들 수 있습니다 :
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
덧붙여,이 반대를 할 수도 있습니다 (에 모든 리디렉션하지있는 www.
) RewriteRule
대체는이 사용할 수 있기 때문에 : 마지막으로 일치한다 RewriteCond 패턴
에
백 참조 (%의 N을)
그래서 당신은www.
후 호스트 이름 모든 것을 캡처 규칙의 대상으로 그것을 사용할 수 있습니다
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
우수, 대단히 고맙습니다, 모자! – TheDude