로그인 후 리디렉션 페이지 오류

1. 정확한 제품 또는 플러그인 이름

워드프레스 웹사이트에 KBoard 사용 중
 

2. 상세 내용

비회원은 게시글을 볼 수 없게 설정했는데요,
게시글 클릭 > 로그인 해야 사용할 수 있습니다 팝업 > 리디렉션 페이지가 메인 페이지로 가길래

https://www.cosmosfarm.com/threads/document/12318

위 글을 참고해서, functions.php 파일에 아래 코드를 삽입했고,
메인이 아닌 로그인 페이지로 가도록 설정했습니다.

add_filter('login_url', 'my_login_page', 10, 3);
function my_login_page($login_url, $redirect, $force_reauth){
    $login_url = 'https://cdhb.co.kr/login/';
    return add_query_arg('redirect_to', $redirect, $login_url);
}

근데 로그인 후 [잘못된 URL입니다] 라고 팝업이 뜬 후 확인 누르면 게시판 리스트로 가더라구요.

이에 대한 도움 요청 드립니다, 감사합니다!

 

3. 확인 가능한 상세 페이지 주소

https://cdhb.co.kr/reveiw/

 

4. 수정한 코드 내역 (있다면)

 

 

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • AI에 의해 자동 생성된 답변이에요 😀

    KBoard 사용 중 비회원 게시글 접근 시 로그인 후 리디렉션 페이지 오류가 발생하는 문제에 대해 문의주셨습니다. `functions.php`에 추가하신 코드로 인해 로그인 페이지로 이동하는 것은 성공했지만, 로그인 후 "잘못된 URL입니다" 팝업이 뜨고 게시판 리스트로 이동하는 현상이 나타나는 것으로 보입니다.

    이 문제는 워드프레스의 로그인 리디렉션 처리 방식과 KBoard의 게시글 접근 권한 설정이 복합적으로 작용하여 발생할 수 있습니다. 특히, `add_filter('login_url', ...)` 필터는 로그인 페이지 URL 자체를 변경하는 데 사용되지만, 로그인 성공 후의 리디렉션 동작까지 완벽하게 제어하지 못할 수 있습니다.

    제공된 정보만으로는 정확한 원인을 파악하기 어렵지만, 몇 가지 가능한 해결책을 제안해 드립니다.

    1. **KBoard 자체 로그인 리디렉션 설정 확인:**

    KBoard는 자체적으로 게시글 접근 권한 설정 시 로그인 리디렉션 옵션을 제공할 수 있습니다. KBoard 설정에서 비회원 접근 제한 시 로그인 페이지로 리디렉션하는 옵션이 있는지 확인해 보세요. 만약 있다면, 해당 설정을 활용하는 것이 `functions.php` 코드를 사용하는 것보다 더 안정적일 수 있습니다.

    2. **워드프레스 로그인 리디렉션 플러그인 사용:**

    로그인 후 특정 페이지로 리디렉션하는 기능을 보다 세밀하게 제어하고 싶다면, "Login Redirect" 또는 "Custom Login Redirect"과 같은 워드프레스 플러그인을 사용하는 것을 고려해 볼 수 있습니다. 이러한 플러그인은 사용자 역할, 로그인 성공 여부 등에 따라 다양한 리디렉션 규칙을 설정할 수 있도록 도와줍니다.

    3. **`login_redirect` 필터 사용:**

    `add_filter('login_url', ...)` 대신 `login_redirect` 필터를 사용하여 로그인 성공 후의 리디렉션 URL을 직접 제어할 수 있습니다. 이 필터는 로그인 성공 시 이동할 URL을 변경하는 데 사용됩니다.

    예시 코드 (기존 `functions.php` 코드와 함께 사용하거나 대체하여 테스트):

    ```php

    add_filter('login_redirect', 'my_login_redirect', 10, 3);

    function my_login_redirect($redirect_to, $request, $user) {

    // 사용자가 로그인하기 전에 보려고 했던 페이지로 리디렉션

    if (isset($_SERVER['HTTP_REFERER']) && !empty($_SERVER['HTTP_REFERER'])) {

    $redirect_to = $_SERVER['HTTP_REFERER'];

    }

    // 또는 특정 게시판 페이지로 리디렉션하려면:

    // $redirect_to = 'https://cdhb.co.kr/reveiw/'; // 예시 URL

    return $redirect_to;

    }

    ```

    이 코드는 로그인하기 전에 사용자가 방문했던 페이지로 리디렉션하려고 시도합니다. 만약 특정 게시글 페이지로 바로 이동시키고 싶다면 `$redirect_to` 변수에 해당 게시글의 URL을 직접 지정해야 합니다.

    4. **KBoard 게시글 URL 구조 확인:**

    "잘못된 URL입니다" 팝업이 뜨는 것은 로그인 후 리디렉션되는 URL이 유효하지 않거나, KBoard가 해당 URL을 게시글로 인식하지 못하는 경우일 수 있습니다. KBoard 게시글의 실제 URL 구조를 확인하고, 리디렉션 시도하는 URL이 올바른지 검토해 보세요.

    5. **캐시 문제 확인:**

    워드프레스 캐싱 플러그인을 사용하고 있다면, 캐시 문제로 인해 변경 사항이 즉시 반영되지 않거나 잘못된 리디렉션이 발생할 수 있습니다. 캐시를 비우고 다시 테스트해 보세요.

    위 방법들을 시도해 보시고, 여전히 문제가 해결되지 않는다면 KBoard 개발사(코스모스팜)의 고객지원 게시판에 상세한 상황과 함께 문의하시는 것이 가장 정확한 해결책을 얻는 방법일 것입니다. 현재 사용 중인 KBoard 버전, 워드프레스 버전, 테마 정보 등을 함께 제공하시면 더욱 빠른 도움을 받으실 수 있습니다.

    ↓ 아래 버튼을 눌러서 피드백해주세요.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기