SW/WEB WAS

[Apache] mod_vhost_alias와 mod_rewrite

yeit 2024. 9. 17. 19:11
728x90

 

아파치에서 여러 가상호스트를 동적으로 설정할 수 있는 mod_vhost_alias와 mod_rewrite에 대해 알아보자.

 

1. mod_vhost_alias

  • mod_vhost_alias 모듈을 사용하여 가상 호스트의 디렉토리 구조를 동적으로 설정할 수 있다.
  • VirtualDocumentRoot와 VirtualScriptAlias를 설정하여 호스트 이름을 기반으로 적절한 디렉토리에 매핑한다.
 VirtualDocumentRoot /www/vhosts/%-1/%-2.1/%-2/htdocs
 VirtualScriptAlias /www/vhosts/%-1/%-2.1/%-2/cgi-bin
  • %0 : 전체 호스트 이름 (ex. www.test.com)
  • %1 : 첫 번째 부분 (ex. www)
  • %-1 : 마지막 부분 (ex. com)
  • %-2.1 : 두 번째에서 마지막 부분의 첫 문자 (ex. t)

 

2. mod_rewrite

  • mod_vhost_alias는 모든 가상 호스트가 동일한 방식으로 구성되어야 하므로 제한적이지만, mod_rewrite는 정규 표현식을 사용하여 여러 URL 패턴을 재작성하거나 리다이렉트할 수 있다.
  • RwriteEngine on을 설정하여 mod_rewrite모듈을 활성화해 준다.
 RewriteEngine on
 RewriteCond "%{HTTP_HOST}" "^(www\.)?([^.]+)\.com"
 RewriteRule "^(.*)$" "/home/%2$1"

 

 

비슷한 가상 호스트 설정이 필요한 경우에는 mod_vhost_alas를, 더 유연하고 복잡한 URL 패턴 설정이 필요한 경우에는 mod_rewrite를 사용하는 것이 적합할 것 같다.

 

 

728x90