이전 포스팅을 통해서 URL Rewrite 규칙(Rule)을 생성해 보았습니다. 이번 시간에는 아파치(Apache) 웹 서버에서 사용하는 mod_rewrite 규칙을 IIS 에서 가져오는 방법에 대해서 소개합니다.
XpressEngine 에서 Rewrite 규칙을 사용할 경우 http://localhost/index.php?module=admin 과 같은 복잡한 URL 대신에 http://localhost/admin 으로 관리페이지에 접근할 수 있습니다. IIS 7 에서 XpressEngine 의 Rewrite 규칙을 적용하는 절차는 다음과 같습니다.
[XpressEngine 의 Rewrite 규칙 적용]
1. XpressEngine 설치 시 환경 설정을 통해 rewrite mod 사용을 체크합니다. 이미 설치하였다면 관리 페이지(제어판)에서 Settings 메뉴를 통해 rewrite mod 사용 여부를 변경할 수 있습니다.
2. IIS 관리자 - URL Rewrite 실행
3. Inbound Rules - Import Rules
4. XpressEngine 을 설치한 홈 디렉터리에 있는 .htaccess 파일을 Import 합니다. 우측에 있는 '적용' 버튼을 클릭하시면 즉시 반영됩니다. 아래 Summary 를 통해 정상 변환 여부를 확인할 수 있습니다.
Configuration file: C:\WWW\.htaccess
16개의 규칙이 모두 성공적으로 변환 되어 등록되었음을 확인할 수 있습니다.
web.config 파일을 열어보면 앞서 가져오기(Import) 하였던 규칙들로 채워져 있습니다.
그럼, 성공적으로 규칙이 등록되었으니 테스트를 해 보겠습니다. 이미 앞서 XpressEngine 을 설치하였고 Rewrite mod 를 사용할 수 있도록 설정을 해 놓았습니다. http://localhost/admin 페이지에 접속하였을 때, 규칙 적용 전/후를 비교해 보겠습니다.
IIS 7 에서 .htaccess 규칙을 가져오기 전에는 Rewrite 규칙이 없으므로 404 페이지를 찾을 수 없다는 오류가 발생하게 됩니다.
.htaccess 규칙을 가져온 후 Rewrite 규칙이 정상적으로 동작함을 확인할 수 있습니다.
http://localhost/admin 으로 해당 페이지에 접속할 수 있었던 것은 XpressEngine 에서 제공한 아래 Rewrite 규칙이 적용되었다는 것을 확인할 수 있습니다.
아파치 웹 서버에서 사용하는 Rewrite 규칙을 IIS 7 에서 가져오거나 쉽게 편집, 관리가 가능하다는 것을 확인할 수 있었습니다. 규칙을 import 하신 후에는 반드시 모든 규칙이 정상적으로 변환되었는지 확인해 주시는 센스 아시죠?
작성자 : Lai Go / 작성일자 : 2010.11.04