www.xxxx.com 도메인 xxxx.com 으로 리다이렉트 시키기

만일 www.xxxx.com 도메인을 xxxx.com 도메인과 함께 같은 웹페이지를 사용하려고 한다면 VirtualHost를 두가지 노드를 생성해야 하거나 해야 한다.
이러한 불편함을 없애려면, .htaccess를 이용하여 리다이렉트 시키면 되겠다.

** 우분투 기준입니다.

root@webterror:/var/www# vi /etc/apache2/sites-enabled/000-default 

# VirtualHost 설정 파일을 아래와 같이 편집해야 하는데, 중요한건 AllowOverride가 되어야 한다는 것이다.
# /var/www 디렉토리가 .htaccess 파일을 사용할수 있도록 override를 시켜준다.

<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                <strong><span style="color: #ff0000;">AllowOverride All</span></strong>
                Order allow,deny
                allow from all
        &lt;/Directory&gt;

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        &lt;Directory "/usr/lib/cgi-bin"&gt;
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        &lt;/Directory&gt;

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined
&lt;/VirtualHost&gt;

그리고 /var/www 디렉토리로 이동한후 아래와 같이 파일을 생성해준다.

# vi .htaccess

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

그리고 www를 붙인 도메인으로 웹페이지를 확인해보고 정상적으로 redirect가 되는지 확인해준다.

curl -I http://www.example.com

Output:
<strong><span style="color: #ff0000;">HTTP/1.1 301 Moved Permanently</span></strong>
Date: Fri, 01 May 2015 21:18:33 GMT
Server: Apache/2.4.7 (Ubuntu)
Location: http://example.com/
Content-Type: text/html; charset=iso-8859-1

Moved Permanently로 나와야 정상적으로 리다이렉트 되었다고 볼수 있다.

관련 글

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다