Files
kngil_home/.htaccess
2026-02-05 12:38:34 +09:00

80 lines
3.4 KiB
ApacheConf

RewriteEngine On
# /adm -> /admin (관리자 루프 방지)
RewriteRule ^adm/?$ /admin [R=301,L]
# 대소문자 혼용 경로 보정
RewriteRule ^(kngil/)?js/lib/ScrollToPlugin\.min\.js$ /js/lib/scrollToPlugin.min.js [R=301,L]
# 레거시 /kngil/skin/adm*.php -> /admin(/company)
RewriteCond %{THE_REQUEST} \s/+kngil/skin/adm_comp\.php [NC]
RewriteRule ^kngil/skin/adm_comp\.php$ /admin/company [R=301,L]
RewriteCond %{THE_REQUEST} \s/+kngil/skin/adm\.php [NC]
RewriteRule ^kngil/skin/adm\.php$ /admin [R=301,L]
# 레거시 /kngil/skin/index.php -> /
RewriteCond %{THE_REQUEST} \s/+kngil/skin/index\.php [NC]
RewriteRule ^kngil/skin/index\.php$ / [R=301,L]
# 레거시 /kngil/skin/*.skin.php -> /* (확장자 제거)
RewriteCond %{THE_REQUEST} \s/+kngil/skin/([^\s]+)\.skin\.php [NC]
RewriteRule ^kngil/skin/([^/]+)\.skin\.php$ /$1 [R=301,L]
# 레거시 /*.skin -> /* (확장자 제거)
RewriteCond %{THE_REQUEST} \s+/([^\s]+)\.skin [NC]
RewriteRule ^([^/]+)\.skin$ /$1 [R=301,L]
# 레거시 /kngil/*.skin -> /* (확장자 제거)
RewriteCond %{THE_REQUEST} \s/+kngil/([^\s]+)\.skin [NC]
RewriteRule ^kngil/([^/]+)\.skin$ /$1 [R=301,L]
# 레거시 /kngil/skin/*.php -> /* (확장자 제거)
RewriteCond %{THE_REQUEST} \s/+kngil/skin/([^\s]+)\.php [NC]
RewriteRule ^kngil/skin/([^/]+)\.php$ /$1 [R=301,L]
# 레거시 /kngil/*.php -> /* (확장자 제거)
RewriteCond %{THE_REQUEST} \s/+kngil/([^\s]+)\.php [NC]
RewriteRule ^kngil/([^/]+)\.php$ /$1 [R=301,L]
# 레거시 /kngil 또는 /kngil/ -> /
RewriteCond %{THE_REQUEST} \s/+kngil/?\s [NC]
RewriteRule ^kngil/?$ / [R=301,L]
# 정적 파일 CDN 리다이렉트(옵션: STATIC_CDN_BASE_URL 환경변수)
RewriteCond %{ENV:STATIC_CDN_BASE_URL} !=""
RewriteRule ^(kngil/)?(js|css|img|fonts|download|uploads|vendor)/(.*)$ %{ENV:STATIC_CDN_BASE_URL}/$2/$3 [R=302,L]
# 기존 파일/디렉터리는 그대로 통과
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# 정적 파일 루트 경로 -> /kngil/ 경로로 내부 라우팅
RewriteRule ^(js|css|img|fonts|download|uploads|vendor)/(.*)$ /kngil/$1/$2 [L]
# Admin UI
RewriteRule ^admin/?$ /kngil/skin/adm.php [L]
RewriteRule ^admin/company/?$ /kngil/skin/adm_comp.php [L]
# Admin APIs
RewriteRule ^admin/api/super/?$ /kngil/bbs/adm.php [QSA,L]
RewriteRule ^admin/api/company/?$ /kngil/bbs/adm_comp.php [QSA,L]
RewriteRule ^admin/api/service/?$ /kngil/bbs/adm_service.php [QSA,L]
RewriteRule ^admin/api/purchase-history/?$ /kngil/bbs/adm_purch_popup.php [QSA,L]
RewriteRule ^admin/api/use-history/?$ /kngil/bbs/adm_use_history.php [QSA,L]
RewriteRule ^admin/api/product/?$ /kngil/bbs/adm_product_popup.php [QSA,L]
RewriteRule ^admin/api/product/save/?$ /kngil/bbs/adm_product_popup_save.php [QSA,L]
RewriteRule ^admin/api/product/delete/?$ /kngil/bbs/adm_product_popup_delete.php [QSA,L]
RewriteRule ^admin/api/faq/?$ /kngil/bbs/adm_faq_popup.php [QSA,L]
RewriteRule ^admin/api/faq/save/?$ /kngil/bbs/adm_faq_popup_save.php [QSA,L]
RewriteRule ^admin/api/faq/delete/?$ /kngil/bbs/adm_faq_popup_delete.php [QSA,L]
# Q&A 라우팅 (컨트롤러 우선)
RewriteRule ^qa_list/?$ /kngil/bbs/qa_list.php [QSA,L]
RewriteRule ^qa_detail/?$ /kngil/bbs/qa_detail.php [QSA,L]
RewriteRule ^qa_write/?$ /kngil/bbs/qa_write.php [QSA,L]
# 루트 페이지 라우팅: / -> index, /{page} -> /kngil/skin/{page}.php
RewriteRule ^$ /kngil/skin/index.php [L]
RewriteRule ^([^/]+)$ /kngil/skin/$1.php [L]