[리팩토링] URL/스킨 정리, Q&A 라우팅 분리, 정적 경로 리다이렉트, 세션 쿠키 경로 통일 #6

Closed
opened 2026-02-05 12:36:07 +09:00 by lectom · 1 comment

요약

스킨 URL 단순화(/kngil/skin/*.php/*), .skin.php 정리, Q&A 라우팅 분리, 정적 자산 루트 경로+CDN 리다이렉트, 로그인 세션 쿠키 path 통일(루트 유지)까지 반영했습니다.

작업 내용

1) 스킨 파일 정리/통합

  • .skin.php 제거 및 파일명 단순화
    • kngil/skin/qa_list.php
    • kngil/skin/qa_detail.php
    • kngil/skin/qa_write.php
    • kngil/skin/faq_list.php
    • kngil/skin/sales_results.php
  • 중복 파일 제거: kngil/skin/qa_list.skin_.php

2) Q&A 라우팅 분리(컨트롤러 우선)

  • 루트 경로에서 컨트롤러로 직접 라우팅
    • /qa_list/kngil/bbs/qa_list.php
    • /qa_detail/kngil/bbs/qa_detail.php
    • /qa_write/kngil/bbs/qa_write.php
  • 스킨 직접 접근 방지 및 데이터 의존성 유지

3) 로그인 세션 쿠키 path 통일

  • kngil/bbs/env.phpkngil_start_session() 추가
  • login.php, login_sms.php, oidc-callback.php, _header.php에서 사용
  • 쿠키 path를 /로 고정하여 /results 등 루트 URL에서도 로그인 상태 유지
  • 변경 후 재로그인 필요

4) 정적 경로/리다이렉트 및 CDN 대비

  • 루트 정적 경로 지원: /js, /css, /img, /fonts, /uploads, /download, /vendor
  • CDN 리다이렉트 지원: STATIC_CDN_BASE_URL

.htaccess 리다이렉트/라우팅 규칙

  • /adm/admin (루프 방지)
  • 레거시
    • /kngil/skin/*.php/*
    • /kngil/*.php/*
    • /kngil/skin/index.php/
    • /kngil/*.skin/*
  • 정적 파일 루트 별칭
    • /js/*/kngil/js/* (내부 라우팅)
    • 동일 방식으로 /css, /img, /fonts, /uploads, /download, /vendor
  • CDN 리다이렉트
    • STATIC_CDN_BASE_URL 설정 시 정적 파일 302 리다이렉트
  • Q&A 라우팅 우선
    • /qa_list, /qa_detail, /qa_write/kngil/bbs/*.php
  • 기본 스킨 라우팅
    • //kngil/skin/index.php
    • /{page}/kngil/skin/{page}.php

변경 파일(핵심)

  • .htaccess
  • kngil/bbs/env.php
  • kngil/bbs/login.php, kngil/bbs/login_sms.php
  • kngil/auth/oidc-callback.php
  • kngil/bbs/qa_list.php, kngil/bbs/qa_detail.php, kngil/bbs/qa_write.php, kngil/bbs/qa_status.php
  • kngil/skin/_header.php
  • kngil/skin/qa_list.php, kngil/skin/qa_detail.php, kngil/skin/qa_write.php, kngil/skin/faq_list.php, kngil/skin/sales_results.php

영향/주의 사항

  • 루트 단일 경로(/{page})는 기본적으로 /kngil/skin/{page}.php로 라우팅됨
  • 새로운 루트 경로가 필요하면 .htaccess에 명시적으로 예외 추가 필요
  • 세션 쿠키 path 변경으로 재로그인 필요

검증 체크리스트

  • /, /value, /provided, /primary, /analysis, /results 정상 접근
  • /qa_list, /qa_detail?id=..., /qa_write 정상
  • /admin, /admin/api/* 정상
  • /js/*, /css/*, /img/* 정적 파일 정상
  • STATIC_CDN_BASE_URL 설정 시 정적 파일 302 리다이렉트 확인
## 요약 스킨 URL 단순화(`/kngil/skin/*.php` → `/*`), `.skin.php` 정리, Q&A 라우팅 분리, 정적 자산 루트 경로+CDN 리다이렉트, 로그인 세션 쿠키 path 통일(루트 유지)까지 반영했습니다. ## 작업 내용 ### 1) 스킨 파일 정리/통합 - `.skin.php` 제거 및 파일명 단순화 - `kngil/skin/qa_list.php` - `kngil/skin/qa_detail.php` - `kngil/skin/qa_write.php` - `kngil/skin/faq_list.php` - `kngil/skin/sales_results.php` - 중복 파일 제거: `kngil/skin/qa_list.skin_.php` ### 2) Q&A 라우팅 분리(컨트롤러 우선) - 루트 경로에서 컨트롤러로 직접 라우팅 - `/qa_list` → `/kngil/bbs/qa_list.php` - `/qa_detail` → `/kngil/bbs/qa_detail.php` - `/qa_write` → `/kngil/bbs/qa_write.php` - 스킨 직접 접근 방지 및 데이터 의존성 유지 ### 3) 로그인 세션 쿠키 path 통일 - `kngil/bbs/env.php`에 `kngil_start_session()` 추가 - `login.php`, `login_sms.php`, `oidc-callback.php`, `_header.php`에서 사용 - 쿠키 path를 `/`로 고정하여 `/results` 등 루트 URL에서도 로그인 상태 유지 - **변경 후 재로그인 필요** ### 4) 정적 경로/리다이렉트 및 CDN 대비 - 루트 정적 경로 지원: `/js`, `/css`, `/img`, `/fonts`, `/uploads`, `/download`, `/vendor` - CDN 리다이렉트 지원: `STATIC_CDN_BASE_URL` ## .htaccess 리다이렉트/라우팅 규칙 - `/adm` → `/admin` (루프 방지) - 레거시 - `/kngil/skin/*.php` → `/*` - `/kngil/*.php` → `/*` - `/kngil/skin/index.php` → `/` - `/kngil/*.skin` → `/*` - 정적 파일 루트 별칭 - `/js/*` → `/kngil/js/*` (내부 라우팅) - 동일 방식으로 `/css`, `/img`, `/fonts`, `/uploads`, `/download`, `/vendor` - CDN 리다이렉트 - `STATIC_CDN_BASE_URL` 설정 시 정적 파일 302 리다이렉트 - Q&A 라우팅 우선 - `/qa_list`, `/qa_detail`, `/qa_write` → `/kngil/bbs/*.php` - 기본 스킨 라우팅 - `/` → `/kngil/skin/index.php` - `/{page}` → `/kngil/skin/{page}.php` ## 변경 파일(핵심) - `.htaccess` - `kngil/bbs/env.php` - `kngil/bbs/login.php`, `kngil/bbs/login_sms.php` - `kngil/auth/oidc-callback.php` - `kngil/bbs/qa_list.php`, `kngil/bbs/qa_detail.php`, `kngil/bbs/qa_write.php`, `kngil/bbs/qa_status.php` - `kngil/skin/_header.php` - `kngil/skin/qa_list.php`, `kngil/skin/qa_detail.php`, `kngil/skin/qa_write.php`, `kngil/skin/faq_list.php`, `kngil/skin/sales_results.php` ## 영향/주의 사항 - 루트 단일 경로(`/{page}`)는 기본적으로 `/kngil/skin/{page}.php`로 라우팅됨 - 새로운 루트 경로가 필요하면 `.htaccess`에 명시적으로 예외 추가 필요 - 세션 쿠키 path 변경으로 **재로그인 필요** ## 검증 체크리스트 - `/`, `/value`, `/provided`, `/primary`, `/analysis`, `/results` 정상 접근 - `/qa_list`, `/qa_detail?id=...`, `/qa_write` 정상 - `/admin`, `/admin/api/*` 정상 - `/js/*`, `/css/*`, `/img/*` 정적 파일 정상 - `STATIC_CDN_BASE_URL` 설정 시 정적 파일 302 리다이렉트 확인
Author

완료 처리했습니다.

  • 스킨 파일명 정리 및 중복 제거(.skin.php → .php, qa_list.skin_.php 삭제)
  • 루트 URL 단순화 및 Q&A 컨트롤러 우선 라우팅 적용
  • /kngil/skin/.php, /kngil/.php, *.skin 레거시 리다이렉트 유지
  • 정적 경로(/js, /css, /img 등) 루트 별칭 + STATIC_CDN_BASE_URL 리다이렉트 적용
  • 세션 쿠키 path=/ 통일로 루트 경로(/results 등) 로그인 상태 반영

변경 후 재로그인 필요합니다. 검증 체크리스트는 이슈 본문 기준으로 확인 부탁드립니다.

완료 처리했습니다. - 스킨 파일명 정리 및 중복 제거(.skin.php → .php, qa_list.skin_.php 삭제) - 루트 URL 단순화 및 Q&A 컨트롤러 우선 라우팅 적용 - /kngil/skin/*.php, /kngil/*.php, *.skin 레거시 리다이렉트 유지 - 정적 경로(/js, /css, /img 등) 루트 별칭 + STATIC_CDN_BASE_URL 리다이렉트 적용 - 세션 쿠키 path=/ 통일로 루트 경로(/results 등) 로그인 상태 반영 변경 후 재로그인 필요합니다. 검증 체크리스트는 이슈 본문 기준으로 확인 부탁드립니다.
lectom referenced this issue from a commit 2026-02-05 12:38:35 +09:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: b24014/kngil_home#6