메뉴 닫기

rewrite 모듈 설치 및 사용방법

안녕하세요 이번에는 rewrite 모듈 설치 및 사용방법에 대해 설명드리고자 합니다.

rewrite 모듈 설치는 간단하지만 사용법이 어려워서 글을 쓰게 되었습니다.

rewrite 모듈이란 ? 

apache module 의 한 종류로 서버 Request 를 정해진 Rule 에 의해서 다른 URL or File 로 보내는 모듈 입니다.

이 모듈을 활용하면 긴 URL 주소를 짧은 URL 로 단축시킬수 있으며, 다른 도메인으로 포워딩 시켜줄수도 있습니다.

Rewrite 모듈은 사용방법 및 용도가 다양하며 필요에 따라 잘 적용하여 사용할 경우 매우 유용합니다.

 

Rewrite 모듈 설치방법

모듈을 설치하기 위하여 컴파일 했던 위치로 이동합니다.

# cd /usr/local/src/httpd-2.4.3/modules/mappers

# /usr/local/apache/bin/apxs -a -i -c mod_rewrite.c

# vi /usr/local/apache/conf/httpd.conf

#LoadModule rewrite_module modules/mod_rewrite.so —> 해당라인 주석 해제

AllowOverride none 부분을 AllowOverride All 로 변경   –> .htaccess 의 파일이 잘 안먹힐수 있기때문에 변경

 

사용방법 1

사이트 다큐먼트 루트에 .htaccess 파일을 생성하여 아래내용을 추가하여 줍니다.

저의 도메인은 linuxkill.xyz 이며, 이부분에 각자의 도메인으로 변경하시면 됩니다.

RewriteEngine on

RewriteRule ^([a-zA-Z0-9_-]+)$ /wordpress/test.php/$1[L]

위처럼 설정을 하였을 경우 linuxkill.xyz/뒤에 dsfakjdhf 이런식으로 아무글이나 적어도

보여지는건 linuxkill.xyz/dsfakjdhf 로 보여지지만

linuxkill.xyz/wordpress/test.php 로 포워딩이 됩니다.

[L]의 의미는 Last(마지막)를 의미합니다. 이곳에서 Rewrite 가 끝납니다.

위에 룰을 보시면 ^([a-zA-Z0-9_-]+$ 표시가 되어 있는데 linuxkill.xyz/뒤에 알파벳 a~z/A~Z/0~9/ 이중에서 어떠한 글이 있어도 /wordpress/test.php 로 포워딩 시켜준다는 의미입니다.

 

사용방법 2

해당서버가 아닌 완전히 다른 서버에있는 도메인으로 포워딩 시켜주는 방법입니다.

위에서 처럼 해당도메인 다큐먼트 루트에 .htaccess 파일을 생성하여 아래내용을 추가하여줍니다.

RewriteEngine on

RewriteCond %{REMOTE_HOST} ^linuxkill.xyz.* [OR]

RewriteRule ^(.*)$ http://www.naver.com            —> 포워딩시킬 도메인

도메인 linuxkill.xyz 로 접속시 www.naver.com 으로 포워딩 시켜주는 역활을 합니다.

즉, 인터넷 주소창에  linuxkill.xyz 입력시 www.naver.com 으로 접속이 됩니다.

Linuxkill.xyz.* 의 의미는 linuxkill.xyz/뒤에 어떤 문자나 숫자를 써도 naver.com 으로 포워딩 시켜주라는 의미입니다.

 

위에서 설명드린 사용방법 이외에도 rewrite의 사용방법 및 쓰임새는 상당히 많습니다.

rewrite 사용방법을 전부 적을수 없기때문에 여기서 마치도록 하겠습니다.

긴글 읽어주셔서 감사합니다.

 

 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x