From 46b30af83978d3bee1b88d2b70cb0ac691209dfb Mon Sep 17 00:00:00 2001 From: Lectom C Han Date: Thu, 5 Feb 2026 12:22:02 +0900 Subject: [PATCH] =?UTF-8?q?=EB=9D=BC=EC=9A=B0=ED=8C=85=20=EA=B2=BD?= =?UTF-8?q?=EB=A1=9C=EC=A0=95=EB=A6=AC=20&=20CDN=EC=9A=A9=20=EC=A0=95?= =?UTF-8?q?=EC=A0=81=ED=8C=8C=EC=9D=BC=20=EA=B2=BD=EB=A1=9C=20=EC=B6=94?= =?UTF-8?q?=EC=83=81=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.sample | 4 ++++ .htaccess | 26 ++++++++++++++++++++++++++ README.md | 11 +++++++++++ kngil/img/favicon.svg | 25 +++++++++++++++++++++++++ kngil/skin/_head.php | 24 ++++++++++++------------ kngil/skin/_head_pop_temp.php | 8 ++++---- 6 files changed, 82 insertions(+), 16 deletions(-) create mode 100644 kngil/img/favicon.svg diff --git a/.env.sample b/.env.sample index b914814..4ac308f 100644 --- a/.env.sample +++ b/.env.sample @@ -14,3 +14,7 @@ OIDC_CLIENT_SECRET= OIDC_REDIRECT_URL= OIDC_SCOPES=openid profile email IDP_SERVICE_URL= + +# 정적 자산 CDN (선택) +# 예: STATIC_CDN_BASE_URL=https://cdn.example.com/kngil +STATIC_CDN_BASE_URL= diff --git a/.htaccess b/.htaccess index 4dd0cbc..53f06b2 100644 --- a/.htaccess +++ b/.htaccess @@ -1,19 +1,45 @@ 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/*.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] diff --git a/README.md b/README.md index 23b4325..d7d50b8 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,17 @@ docker compose down - `OIDC_SCOPES` (예: `openid profile email`) - `IDP_SERVICE_URL` (예: `https://idp.example.com`) +### 정적 자산 CDN (선택) +정적 파일(`/js`, `/css`, `/img`, `/fonts`, `/download`, `/uploads`, `/vendor`)을 CDN으로 리다이렉트하려면 +웹 서버 환경변수 `STATIC_CDN_BASE_URL`을 설정하세요. (값이 있으면 302 리다이렉트) + +예시: +```bash +STATIC_CDN_BASE_URL=https://cdn.example.com/kngil +``` + +> 참고: 이 변수는 Apache의 Rewrite 환경변수로 사용됩니다. Docker Compose를 사용한다면 web 서비스의 환경변수로 전달해도 됩니다. + ## DB 초기화 - `kngil_DB` 덤프는 **처음 실행 시** 자동으로 로드됩니다. - 이미 생성된 볼륨이 있으면 재적용되지 않습니다. 다시 초기화하려면 아래를 실행하세요. diff --git a/kngil/img/favicon.svg b/kngil/img/favicon.svg new file mode 100644 index 0000000..7480a13 --- /dev/null +++ b/kngil/img/favicon.svg @@ -0,0 +1,25 @@ + + + + + + + Layer 1 + + + + + + + + \ No newline at end of file diff --git a/kngil/skin/_head.php b/kngil/skin/_head.php index 96572bb..24e822f 100644 --- a/kngil/skin/_head.php +++ b/kngil/skin/_head.php @@ -9,23 +9,23 @@ - - - - + + + + - - - - - - - + + + + + + + diff --git a/kngil/skin/_head_pop_temp.php b/kngil/skin/_head_pop_temp.php index 471be07..8ffb47b 100644 --- a/kngil/skin/_head_pop_temp.php +++ b/kngil/skin/_head_pop_temp.php @@ -8,9 +8,9 @@ - - + + - +