From 7034a3643a2b067cd7631c3735aea149364b91e6 Mon Sep 17 00:00:00 2001 From: Lectom C Han Date: Thu, 5 Feb 2026 12:38:34 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A6=AC=ED=8E=99=ED=86=A0=EB=A7=81=20#6=20?= =?UTF-8?q?=EC=B0=B8=EA=B3=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .htaccess | 17 + kngil/auth/oidc-callback.php | 3 +- kngil/bbs/env.php | 22 ++ kngil/bbs/login.php | 3 +- kngil/bbs/login_sms.php | 5 +- kngil/bbs/qa_detail.php | 6 +- kngil/bbs/qa_list.php | 4 +- kngil/bbs/qa_status.php | 2 +- kngil/bbs/qa_write.php | 6 +- kngil/skin/_header.php | 7 +- kngil/skin/buy.php | 2 +- .../skin/{faq_list.skin.php => faq_list.php} | 4 +- .../{qa_detail.skin.php => qa_detail.php} | 12 +- kngil/skin/{qa_list.skin.php => qa_list.php} | 12 +- kngil/skin/qa_list.skin_.php | 332 ------------------ .../skin/{qa_write.skin.php => qa_write.php} | 8 +- ...les_results.skin.php => sales_results.php} | 0 17 files changed, 76 insertions(+), 369 deletions(-) rename kngil/skin/{faq_list.skin.php => faq_list.php} (97%) rename kngil/skin/{qa_detail.skin.php => qa_detail.php} (98%) rename kngil/skin/{qa_list.skin.php => qa_list.php} (97%) delete mode 100644 kngil/skin/qa_list.skin_.php rename kngil/skin/{qa_write.skin.php => qa_write.php} (96%) rename kngil/skin/{sales_results.skin.php => sales_results.php} (100%) diff --git a/.htaccess b/.htaccess index 53f06b2..7c7c78d 100644 --- a/.htaccess +++ b/.htaccess @@ -16,6 +16,18 @@ RewriteRule ^kngil/skin/adm\.php$ /admin [R=301,L] 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] @@ -57,6 +69,11 @@ 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] diff --git a/kngil/auth/oidc-callback.php b/kngil/auth/oidc-callback.php index 89df935..586e8c3 100644 --- a/kngil/auth/oidc-callback.php +++ b/kngil/auth/oidc-callback.php @@ -1,6 +1,7 @@ $params['lifetime'], + 'path' => '/', + 'domain' => $params['domain'], + 'secure' => $params['secure'], + 'httponly' => $params['httponly'], + 'samesite' => $samesite, + ]); + + session_start(); +} diff --git a/kngil/bbs/login.php b/kngil/bbs/login.php index 23cbf5b..85a6cb8 100644 --- a/kngil/bbs/login.php +++ b/kngil/bbs/login.php @@ -1,5 +1,6 @@ true, 'message' => $e->getMessage() ], JSON_UNESCAPED_UNICODE); -} \ No newline at end of file +} diff --git a/kngil/bbs/qa_detail.php b/kngil/bbs/qa_detail.php index afe05f4..0ff584b 100644 --- a/kngil/bbs/qa_detail.php +++ b/kngil/bbs/qa_detail.php @@ -14,7 +14,7 @@ if (session_status() === PHP_SESSION_NONE) { if (empty($_SESSION['login'])) { echo ""; exit; } @@ -92,7 +92,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && ($_POST['action'] ?? '') === 'delet $pdo->commit(); - header("Location: /qa_list.skin"); + header("Location: /qa_list"); exit; } catch (Exception $e) { @@ -230,4 +230,4 @@ $isOwner = ($post['user_id'] === $me); /* =============================== 12. 스킨 렌더링 =============================== */ -include $_SERVER['DOCUMENT_ROOT'].'/kngil/skin/qa_detail.skin.php'; +include $_SERVER['DOCUMENT_ROOT'].'/kngil/skin/qa_detail.php'; diff --git a/kngil/bbs/qa_list.php b/kngil/bbs/qa_list.php index 9923d5d..fce207e 100644 --- a/kngil/bbs/qa_list.php +++ b/kngil/bbs/qa_list.php @@ -1,7 +1,7 @@ alert('로그인이 필요합니다.'); - location.href = '/qa_list.skin'; + location.href = '/qa_list'; "; exit; } @@ -216,7 +216,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { handle_file_uploads($pdo, $postId); } - header("Location: /kngil/bbs/qa_detail.php?id={$postId}"); + header("Location: /qa_detail?id={$postId}"); exit; } catch (Exception $e) { @@ -228,4 +228,4 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { /* =============================== 7. 화면 출력 =============================== */ -include $_SERVER['DOCUMENT_ROOT'].'/kngil/skin/qa_write.skin.php'; +include $_SERVER['DOCUMENT_ROOT'].'/kngil/skin/qa_write.php'; diff --git a/kngil/skin/_header.php b/kngil/skin/_header.php index 8538595..f2d4bd6 100644 --- a/kngil/skin/_header.php +++ b/kngil/skin/_header.php @@ -1,9 +1,6 @@
- + KNGIL 구매문의 diff --git a/kngil/skin/faq_list.skin.php b/kngil/skin/faq_list.php similarity index 97% rename from kngil/skin/faq_list.skin.php rename to kngil/skin/faq_list.php index 4d32306..ee1c7c2 100644 --- a/kngil/skin/faq_list.skin.php +++ b/kngil/skin/faq_list.php @@ -63,10 +63,10 @@
@@ -196,11 +196,11 @@ - + - @@ -324,7 +324,7 @@ const form = document.createElement('form'); form.method = 'post'; - form.action = "/kngil/bbs/qa_detail.php"; // ✅ 중요 + form.action = "/qa_detail"; // ✅ 중요 const actionInput = document.createElement('input'); actionInput.type = 'hidden'; diff --git a/kngil/skin/qa_list.skin.php b/kngil/skin/qa_list.php similarity index 97% rename from kngil/skin/qa_list.skin.php rename to kngil/skin/qa_list.php index 244494f..aebf38f 100644 --- a/kngil/skin/qa_list.skin.php +++ b/kngil/skin/qa_list.php @@ -56,8 +56,8 @@

KNGIL 관련 문의하기

@@ -142,7 +142,7 @@ $rowNumber = $totalIndex - $idx; // 연속 번호 재계산 ?> - + @@ -233,7 +233,7 @@
-
@@ -247,7 +247,7 @@ - + @@ -328,7 +328,7 @@ $(document).on("click", ".btn-move", function() { alert("Q&A ID를 입력하세요."); return; } - location.href = "/kngil/bbs/qa_detail.php?id=" + qnaId; + location.href = "/qa_detail?id=" + qnaId; }); $("#qna-id-search").on("keypress", function(e){ diff --git a/kngil/skin/qa_list.skin_.php b/kngil/skin/qa_list.skin_.php deleted file mode 100644 index df629f1..0000000 --- a/kngil/skin/qa_list.skin_.php +++ /dev/null @@ -1,332 +0,0 @@ - - - - - - - Q&A 게시판 리스트 - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
-
-
-

Q&A

- EG-BIM 관련 문의하기 -
- -
- - 문의하기(Q&A) - -
-
-
-
-
- - - - - - - - - -
-
- 작성자 - -
- - -
- 상태 - -
- - -
- - -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
번호구분회사부서작성자제목등록일상태
- - [비밀글] - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - 1): ?> - - - -
- -
-
-
- - - - - - -
- - - - - - - - - - diff --git a/kngil/skin/qa_write.skin.php b/kngil/skin/qa_write.php similarity index 96% rename from kngil/skin/qa_write.skin.php rename to kngil/skin/qa_write.php index 1043d2f..25c7c0b 100644 --- a/kngil/skin/qa_write.skin.php +++ b/kngil/skin/qa_write.php @@ -46,7 +46,7 @@ if (!$isLogin) { echo ""; exit; } @@ -70,15 +70,15 @@

KNGIL 관련 문의하기

문의하기(Q&A)

diff --git a/kngil/skin/sales_results.skin.php b/kngil/skin/sales_results.php similarity index 100% rename from kngil/skin/sales_results.skin.php rename to kngil/skin/sales_results.php