본문 바로가기
IT만들기/전산일반

아파치(Apache) URL 줄이기 리다이렉트(Rewriterule 옵션) 사용

by 커피향처럼 2017. 6. 10.
.htaccess 파일을 다음과 같이 수정하는데 밑줄친 부분을 추가하면 된다.

PHP_FLAG register_globals ON
PHP_VALUE mysql.default_charset UTF8
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)/(.*)$ http://www.localhost.co.kr/blog/$2

만약 http://www.localhost.co.kr 이라는 사이트에서 블로그를 운영하는데 
http://www.localhost.co.kr/blog/abc/index.php  -> http://www.localhost.co.kr/blog/abc(index.php를 디폴트페이지로 설정했다면 이렇게도 접근가능할 것이다)
http://www.localhost.co.kr/blog/ddd/index.php

무척 좋지않은 예이지만 저 사이트는 사용자의 블로그가 디렉토리로 만들어진다 ㅡㅡ;;

우린 http://www.localhost.co.kr/ddd,  http://www.localhost.co.kr/abc 요렇게 접근하고 싶다면 
.htaccess 파일을 수정하면 된다.

.htaccess 파일을 웹사이트 계정의 최상위 root에 만들어나야 한다.

http://blog.localhost.co.kr/index.php?blog=myblog 를 
http://blog.localhost.co.kr/myblog 로 할려면 RewriteRule 내용을 수정하면 될것인데
그건 나중에 추가로 적어보도록 하겠다. 이양 하는거 끝까지 적어주면 좋을련만 정규식을 찾아봐야 하는 관계로 이놈의 귀차니즘 ^^;;;
^(.*)/(.*)$ 요런걸 정규식이라 하며 인터넷에서 검색해보면 자료가 많을 것임. .htaccess에 적용하는건 일반적인 정규식 방식과 조금 다른듯하기도 하고..

PHP_FLAG register_globals ON : PHP 전역변수 $_GET, $_POST, $_REQUEST 등과 같은 변수 값을 $_GET['var2'] 형태로 쓰지 않고 $var2 형태로 바로 쓸 수 있게 하는 옵션
PHP_VALUE mysql.default_charset UTF8  : mysql을 UTF8로 접근하고자 할때
RewriteEngine on  : RewriteEngine 을 사용하겠다는 것이겠죠...

RewriteEngine은 HTTP URL로 접속하는 것을 마음대로 제어 할 수 있음으로 무척 유용하게 사용 할 수 있음. 

 

댓글