라이믹스 1.9버젼에서 최신 2.1x로 업데이트 /  라이믹스 2.x에서 권장하는  rewrite 규칙 ( https://github.com/rhymix/rhymix/blob/master/common/manual/server_config/rhymix-nginx.conf ) 내용으로 변경 저장완료 했습니다. 

 

1. 게시판 목록화면 ( https://nakknakk.com/c_fishing  )에서 로그인 버튼을 클릭하면 로그인 버튼에 링크된 주소 ( https://nakknakk.com/index.php?act=dispMemberLoginForm ) 로 화면이 정상이동합니다. 

 

그러나 게시판 글보기 화면 ( https://nakknakk.com/c_fishing/5421 ) 에서 같은 로그인 버튼의 링크된 주소는 ( https://nakknakk.com/index.php?document_srl=5421&act=dispMemberLoginForm ) 찍히고 클릭을 하면 로그인 화면으로 이동하지 않고 현재 게시판 글보기 화면( https://nakknakk.com/c_fishing/5421 ) 불러오는 증상이 발생합니다.

 

레이아웃 소스상에서 로그인 버튼에 적용된 코드는 아래와 같습니다.

<a class="tw-color-f5" href="{getUrl('act','dispMemberSignUpForm','mid',$layout_info->royals_mid)}">로그인</a>

 

또는 특정 상황에서 링크된 주소 중 index.php가 자동으로 제거되어 보이기도 합니다.

https://nakknakk.com//?act=dispSocialxeConnectSns&type=login&service=naver

 

어디를 살펴봐야 할지 힌트나 조언 부탁드리겠습니다.

 

2. nginx default.conf  설정의 문제일수 도 있을까요? ( 아주 오래전 의뢰로 서버가 설정되었습니다. )

 

server {
    server_name  nakknakk.com;
    root   /home/youtubeharuoops/www;
     index  index.php index.html;
     client_max_body_size 32m;


    location ~ [^/]\.php(/|$) {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        if (!-f $document_root$fastcgi_script_name) {
            return 404;
        }

        fastcgi_pass unix:/run/php/php7.3-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }


    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/nakknakk.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/nakknakk.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

server {
    server_name www.nakknakk.com;
    return 301 $scheme://nakknakk.com$request_uri;


    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/nakknakk.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/nakknakk.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}


server {
    if ($host = nakknakk.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    server_name  nakknakk.com;
    listen 80;
    return 404; # managed by Certbot


}

server {
    if ($host = www.nakknakk.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    server_name www.nakknakk.com;
    listen 80;
    return 404; # managed by Certbot


}


access_log  /var/log/nginx/access.log;
error_log  /var/log/nginx/error.log;

 

 

  • profile

    레이아웃 소스가 주소를 이상하게 생성하는 것 같습니다.

    로그인 링크의 경우, $layout_info->royals_mid 이게 뭔지 모르겠지만 그냥 $mid로 바꿔보세요.

     

    정상적인 서버라면 주소에 index.php는 필요없습니다. 단, 슬래시가 두 개 나오는 것은 이상하네요.

     

    올려주신 nginx 설정에 라이믹스 rewrite 규칙을 로딩하는 곳이 전혀 보이지 않습니다.

  • profile ?

    문제가 되었던 부분이 덕분에 모두 해결되었습니다. 답변감사합니다.^^

    1. getUrl('act','dispMemberLoginForm','mid',$layout_info->royals_mid) 을 getUrl('act','dispMemberLoginForm')로 변경하니 게시판 글읽기 화면에서도 정상적으로 로그인 화면을 불러와집니다. 

     

    2. 슬래쉬가 두개 나오는 부분은 단순 코드가 잘못 기재된 부분이었습니다. ^^;

     

    3. 주석처리된 부분을 제거 하고 질문글을 올리는 과정에서 rewrite 규칙 로딩하는 부분만 누락되었습니다. 

    server {
        server_name  nakknakk.com;
        root   /home/youtubeharuoops/www;
         index  index.php index.html;
        client_max_body_size 32m;

         include rhymix_rewrite.conf;


        location ~ [^/]\.php(/|$) {
            fastcgi_split_path_info ^(.+?\.php)(/.*)$;
            if (!-f $document_root$fastcgi_script_name) {
                return 404;
            }

    ......