Fix incorrect redirect if a member action is added to a document URL

일부 레거시 스킨에서 글읽기 화면 -> 로그인 화면으로 전환하는 링크를
getUrl('act', 'dispMemberLoginForm') 이렇게 해 놓아서
mid=board&document_srl=123&act=dispMemberLoginForm 이런 형태의 URL이 생성됨.
이런 주소로 접속하면 document_srl을 기준으로 글읽기 화면의 짧은주소로
리다이렉트되는데, 이것은 원래의 의도에 어긋나므로
act를 기준으로 로그인 화면으로 리다이렉트하도록 변경함.
회원가입, 회원정보 보기, 쪽지함 보기 등 회원 메뉴에 소속된 대부분의 act 포함.
This commit is contained in:
Kijin Sung 2025-09-01 00:05:07 +09:00
parent b79af31d0e
commit ba7a91b150

View file

@ -784,6 +784,14 @@ class ModuleHandler extends Handler
}
}
// Redirect if a member action is requested with an unnecessary document_srl. (For backward compatibility)
if(preg_match('/^disp(Member|Communication)/', $this->act))
{
Context::setCacheControl(0);
header('Location: ' . getNotEncodedUrl('document_srl', null), true, 301);
return false;
}
// Remove module info if a different module has already been selected for the current request.
if($this->module && $module_info->module !== $this->module)
{