안녕하세요 이번에는 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 사용방법을 전부 적을수 없기때문에 여기서 마치도록 하겠습니다.
긴글 읽어주셔서 감사합니다.