티스토리 뷰
Apache rewrite module(mod_rewrite) 설정으로 userid.domain.com 사용하기
프링글 2008. 6. 22. 14:17mod_rewrite 설정으로 userid.domain.com 사용하기
원하는 결과는 "http://www.domain.com/~userid" 를 사용치 않고
"http://userid.domain.com" 또는 "http://blog.domain.com/userid" 와 같이 서비스 할 목적입니다.
간단히 정리해서 올립니다.
모두 3가지 부분으로 나누어 설명할수 있습니다.
1. 네임서버 설정
2. mod_rewrite 모듈 탑재
3. 아파치 conf 화일에 rewrite 관련 설정
1. 네임서버 설정
-------------------------------------------------------------
해당하는 zone 파일의 호스트 이름에 "*" (아스트리크) 문자를 사용합니다.
* IN A 111.222.333.444
2. mod_rewrite 모듈 탑재
-------------------------------------------------------------
(A) 아파치의 모듈들이 설치된 디렉토리 (/usr/local/apache/libexec 등)에 mod_rewrite.so 가 존재할 경우 "C" 로 건너뛰면 됩니다.
(B) 아파치의 모듈들이 설치된 디렉토리에 mod_rewrite.so 가 없는 경우.
enb CFLAGS="-DEAPI" \
./configure \
--prefix=/etc/httpd \
--enable-module=so \
--enable-shared=max \
--enable-module=rewrite \
--enable-shared=rewrite
make
make install
(C) 아파치 conf 화일에서 다음을 확인합니다.
LoadModule rewrite_module livexec/mod_rewrite.so
AddModule mod_rewrite.c
3. 아파치 conf 화일에 rewrite 관련 설정
-------------------------------------------------------------
ServerAdmin admin@domain.com
DocumentRoot /home/httpd/html
ServerName www.domain.com
ServerAlias domain.com *.domain.com
ErrorLog logs/domain.com-error_log
CustomLog logs/domain.com-access_log common
### Vitual User Hosts
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.domain\.com$
RewriteCond %{HTTP_HOST} !^domain\.com$
RewriteCond %{HTTP_HOST} ^[^.]+\.domain\.com$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+)\.domain\.com(.*) /home/$1/html$2
---------------------------------------------------------------------------------
추가적으로 모듈만 컴파일 해서 추가할 경우(DSO로 컴파일 했을 경우만 해당)
1.3.X 버젼에서 mod_rewrite 적재
아파치소스(./configure 명령을 한번도 내리지 않은 원본소스를 말함) 디렉토리에서
# ./configure --enable-module=rewrite
# cd src/modules/standard
# gcc -shared -o mod_rewrite.so mod_rewrite.o
# cp mod_rewrite.so /usr/local/apache/libexec/
2.X 버젼에서
# /usr/local/apache/apxs -c -I/usr/include/gdbm mod_rewrite.c
# gcc -shared -o mod_rewrite.so mod_rewrite.o -lgdbm
# /usr/local/apache/apxs -i mod_rewrite.so
컴파일 이후에 추가해야 하는 라인도 아파치 버젼에 따라 다릅니다.
2.X 이후 버젼은 아래와 같습니다.
----------------------------------------------------------
LoadModule rewrite_module modules/mod_rewrite.so
< IfModule mod_rewrite.c>
RewriteEngine On
Rewriterule ^/(.*)$ /index.php?$1
< /IfModule>
----------------------------------------------------------
위와 같이 하면 index.php 파일은 이름 없이도 불러와집니다.
1.3.X 버젼에서는 아래와 같습니다.
LoadModule rewrite_module libexec/mod_rewrite.so
AddModule mod_rewrite.c
LoadModule은 관련된 리스트가 있는 맨 아래에 추가 해주시고 AddModule도 역시
관련 리스트가 있는 맨 아래에 추가해주시면 됩니다.
'리눅스(유닉스) > 아파치(apache)' 카테고리의 다른 글
아파치 mpm 의 prefork | worker 설정에 따른 성능 (0) | 2008.07.18 |
---|---|
Apache 트래픽 컨트롤 (mod_throttle) (0) | 2008.06.22 |
Apache rewrite module을 이용한 편리한 가상 도메인 운영방법 (0) | 2008.06.22 |
Apache rewrite Module (0) | 2008.06.22 |
Apache 서버 설정 참고사항 (0) | 2008.06.22 |
- Total
- Today
- Yesterday