워드프레스(WordPress)를 설치하면 기본 접속 URL은 “http://localhost/?p=번호”가 된다. 하지만 이러한 형태는 웬지 깔끔해 보이지 않는다. 그래서 워드프레스 설정에는 아래 그림처럼 여러가지 형태로 접속 URL을 변경할 수 있도록 하고 있다.

 

 

위와 같이 설정하면 WordPress 설치 폴더에 .htaccess가 생성된다. .htaccess를 확인해보면 아래와 같은 코드가 생성된 것을 확인할 수 있을 것이다. 참고로 본인의 블로그 루트는 “/blog/”이다. 대부분의 사람들은 “/” 이 될 것이다.

<IFMODULE mod_rewrite.c>  
RewriteEngine On  
RewriteBase /blog/
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule . /blog/index.php [L]  
</IFMODULE>

위 코드는 Rewrite엔진을 On하고 Rewrite기본경로를 /blog/로 하며, 파일이름이 기존에 있는 파일과 디렉토리가 아니라면 /blog/index.php로 rewrite 하겠다는 의미와 같다. 즉, “/archives/번호” 로 접속하면 기존에 있는 파일과 디렉토리가 아니므로 접속한 URL변경없이 “/blog/index.php”를 실행하게 된다.

 

이처럼 “?p=번호” 대신 “/archives/번호” 형태로 접속을 할 수 있도록 설정했지만 제대로 실행이 안된다면  Apache 설정에 .htaccess를 사용할 수 있도록 하고 mod_rewrite가 동작하도록 해야한다.

 

Apache 설정은 httpd.conf에서 할 수 있다.
이 파일의 위치는 설치한 서버마다 다를 것이며 개인서버를 운영하는 사람은 root로 접속해서 사용이 가능하며 호스팅을 받는 사람이라면 php_info()함수로 mod_rewrite 모듈이 동작하는지 여부를 확인하여 동작이 안된다면 사용할 수 있도록 호스팅 업체에 요청해야한다.

 

httpd.conf에서 2가지 영역을 수정하면 되겠다.

  1. LoadModule rewrite_module_modules/mod_rewrite.so 의 주석을 제거한다.
  2. 다음 부분에서 AllowOverride를 All로 설정함
    <Directory “home/httpd/html”>
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow, deny
    All from all
    </Directory>

이와 같이 설정하고 Apache를 재실행하면 새로운 접속 URL인 “/archives/번호” 형태로 접근할 수 있을 것이다.

 

mod_rewrite를 이용하면 이렇게 깔끔하게 URL을 정리할 수 있으니 활용가치가 높다. 따로 학습을 해두면 분명히 유용하게 사용할 수 있을 것이다.

+ Recent posts