만일 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 </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> 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 </VirtualHost>
그리고 /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로 나와야 정상적으로 리다이렉트 되었다고 볼수 있다.