관리자 라우트에서 리다이렉트할 때 테넌트 경로(namroki)가 빠진 BASE_URL을 사용해서, 처리는 끝났는데(생성/삭제 자체는 성공) 엉뚱한 비테넌트 URL로 리다이렉트되어 라우터가 이를 처리 못하고 메인(홈)으로 튕겨나가는 현상이었습니다.

1. 일반페이지 생성

  • src/Controllers/AdminController.php:896 pagesSave() — 페이지는 실제로 DB에 INSERT 됐지만, 저장 후 header("Location: " . BASE_URL . "/admin/pages")로 리다이렉트되어 테넌트 인식 실패 → 메인으로 이동
  • 같은 함수의 pagesDelete()(905줄)도 동일한 버그라 함께 수정
  • 콘솔에 뜬 정규식 에러는 별개 이슈: views/admin/pages.php:160 pattern="[a-zA-Z0-9_-]+"가 최신 브라우저의 정규식 파서(v 플래그) 버그에 걸려 컴파일 실패 — pattern="[a-zA-Z0-9_\-]+"로 하이픈을 이스케이프해서 수정 (같은 패턴이 있던 tenant_create.php도 함께 수정)

2. 게시판 삭제

  • src/Controllers/AdminController.php:698 boardsDelete() — 삭제는 정상 실행되지만 header("Location: " . BASE_URL . "/admin/boards")로 리다이렉트되어 역시 메인으로 이동

추가로 발견해 함께 고친 동일 버그 (아직 리포트 안 하셨지만 같은 증상이 났을 항목들)

  • delete() (게시글 삭제, 357줄) — BASE_URL . "/"  TENANT_BASE_URL . "/"
  • popupsSave() / popupsDelete() (758, 779줄) — 팝업 저장·삭제 후 리다이렉트

전부 TENANT_BASE_URL로 통일했습니다. 이제 일반페이지 생성 시 저장 후 목록 페이지에 정상적으로 남고, 게시판/게시글/팝업 삭제 후에도 각 관리 목록으로 돌아옵니다.