워드프레스(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가지 영역을 수정하면 되겠다.
- LoadModule rewrite_module_modules/mod_rewrite.so 의 주석을 제거한다.
- 다음 부분에서 AllowOverride를 All로 설정함
<Directory “home/httpd/html”>
Options Indexes FollowSymLinks
AllowOverride All
Order allow, deny
All from all
</Directory>
이와 같이 설정하고 Apache를 재실행하면 새로운 접속 URL인 “/archives/번호” 형태로 접근할 수 있을 것이다.
mod_rewrite를 이용하면 이렇게 깔끔하게 URL을 정리할 수 있으니 활용가치가 높다. 따로 학습을 해두면 분명히 유용하게 사용할 수 있을 것이다.
'소프트웨어 개발 > HTML,CSS,HTML5' 카테고리의 다른 글
구글 Ajax API Playground - 구글 App Engine 기반 (2) | 2009.05.20 |
---|---|
WordPress 유용한 플러그인 소개 “Admin Drop Down Menu” (0) | 2009.05.12 |
Windows Live Writer로 블로그에 원격 포스팅 즐기기 (2) | 2009.05.12 |