IIS 와 Apache 에서 rewrite 의 세팅

1️⃣ IIS (Windows / web.config 기반)

✔️ 기본 개념

  • 모듈: URL Rewrite Module 필요
  • 설정 위치: web.config
  • XML 기반

👉 Rewrite 모듈 없으면 오류 발생 (이미 겪으신 그 케이스)


✔️ 설치 (없을 경우)


✔️ 기본 예제 (ASPX Rewrite)


✔️ 주요 옵션 설명

항목설명
<match url="">요청 URL 패턴 (정규식)
<action type="Rewrite">내부 경로 변경
Redirect브라우저 URL 변경
stopProcessing이후 rule 실행 중지

✔️ Redirect 예제 (SEO용)


2️⃣ Apache (Linux / .htaccess 또는 httpd.conf)

✔️ 기본 개념

  • 모듈: mod_rewrite
  • 설정 위치:
    • .htaccess (디렉토리별)
    • httpd.conf / apache2.conf (서버 전체)

✔️ 모듈 활성화 (Ubuntu 기준)


✔️ 기본 예제 (.htaccess)


✔️ Redirect 예제


✔️ QueryString 유지


✔️ 조건 (if 개념)


3️⃣ IIS vs Apache 비교

항목IISApache
설정 파일web.config.htaccess / conf
문법XML텍스트
모듈URL Rewrite 설치 필요mod_rewrite 기본 포함
정규식.NET regexApache regex
UIIIS Manager GUI 있음CLI 중심

4️⃣ 실무 핵심 포인트 (중요)

✔️ IIS에서 자주 나는 오류

  • <rewrite> 있는데 모듈 없음 → 500 오류
  • <system.web> 아래 넣음 → 오류
    👉 반드시 <system.webServer> 아래

✔️ Apache에서 자주 문제

  • .htaccess 무시됨
    👉 AllowOverride All 필요

5️⃣ 동일 기능 변환 예 (실무 중요)

👉 IIS

👉 Apache


✔️ 결론

  • IIS = web.config + XML + 모듈 필요
  • Apache = .htaccess + 간단한 규칙