URL에 www 추가: 작동하지 않음

URL에 www 추가: 작동하지 않음

이는 이전에 이 그룹에 게시한 리디렉션 쿼리의 추가 콘텐츠입니다.

Apache 리디렉션 규칙: URL에 www 추가

여전히 작동하지 않아서 동일한 쿼리를 다시 게시합니다. 쿼리가 www다음에 추가됩니다.URL www.example.com.au

아래와 같이 다시 쓰기 규칙을 하나씩 추가하려고 시도했지만 여전히 성공하지 못했습니다. wwwURL에서 삭제 중입니다.

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


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

추가로 제안해주세요.

답변1

# Replace 'example.com' with your domain name
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([a-z.]+)?example\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .? http://www.%1example.com%{REQUEST_URI} [R=301,L]

답변2

example.com우리 웹마스터는 호스트 이름 에 대해 www.example.com다른 VirtualHost를 사용하여 이 문제를 해결한 것 같습니다 . 구성은 mod_rewrite최소한 처리해야 할 부분이 훨씬 적습니다.

<VirtualHost *:80>
    ServerName actual.example.com
    ServerAlias ...  # any other names for the host here
    DocumentRoot "/some/dir" # required by Apache?
    RedirectMatch (.*) http://www.example.com$1
</VirtualHost>

# main host (actually a CNAME for actual.example.com in DNS,
# but whatever)
<VirtualHost *:80>
    ServerName www.example.com
    ...

관련 정보