팁/튜토리얼

라이믹스 2.x에서 썸씽(썸띵,something)모듈 짧은주소 설정 방법

2024.10.12 06:08
343
7

썸씽모듈 1.0.12 이후 필요없는 팁이 되었습니다.^^

 

라이믹스 2.0부터 라우터가 도입되어서

.htaccess나 rewrite nginx 규칙을 임의로 수정하는 꼼수는 잘 통하지 않습니다.

억지로 뭐 하나 끼워넣어서 겨우 작동하도록 만든다 해도, 다른 기능의 정상 작동을 방해할 수 있습니다.

4년이 다 되어 가는데 아직도 주먹구구식으로 .htaccess를 수정하는 꼼수가 돌아다니는 것이 무척 안타깝네요.

 

.htaccsss나 nginx rewrite 규칙 수정은 사실상 코어 수정이나 마찬가지이니,

불특정 다수에게 배포하는 자료나 팀글이라면 억지로 코어를 수정하는 방법을 안내하기보다는

코어에서 제공하는 라우터 기능을 사용하여 구현해야 할 것입니다.

 

아래의 팁은 2024년 10월 12일 현재 배포되고 있는 썸씽(썸띵,something) 모듈 기준입니다.

제작자분께서 업데이트하신다면 팁이 필요없게 될 수도 있습니다.

시스템 설정에서 "모든 주소 형태를 사용"이 선택되어 있는 경우에만 작동합니다.

 

1) modules/something/conf/module.xml

30줄 근처, dispSomethingProfileView가 선언되어 있는 줄 바로 밑에

아래의 내용을 추가합니다. (한 줄입니다. 혹시 화면 폭이 좁아서 줄이 바뀌어 보인다면 주의하세요.)

 

<action name="dispSomethingProfileRedirect" type="view" standalone="true" global-route="true" route="@$smember" />

 

2) modules/something/something.view.php

somethingView 클래스 안에 아래의 메소드를 추가합니다.

맨 마지막 닫는 중괄호 } 직전에 한두 줄 띄우고 넣는 것을 추천합니다.

 

public function dispSomethingProfileRedirect()
{
    $user_string = Context::get('smember');
    $site_module_info = Context::get('site_module_info');
    $config = $this->getConfig();
    $this->setRedirectUrl(getNotEncodedFullUrl('',
        'mid', $config->mid_name ?: $site_module_info->mid,
        'act', 'dispSomethingProfileView',
        'smember', $user_string
    ));
}

 

3) 관리자 대시보드에서 설정 완료를 클릭합니다.

 

image.png

 

이렇게 하면 example.com/@닉네임 으로 접속했을 때

긴주소로 리다이렉트되면서 해당 회원의 활동 내역 화면이 표시됩니다.

 

기존에 .htaccess나 nginx rewrite 파일을 수정해 두셨다면

원상복구하셔도 됩니다.

 

기진곰 Lv. 25
라이믹스 개발자 겸, 전속 곰탱이입니다.

댓글 4

  • 2024.10.13 17:19 #1840856
    리다이렉트가 아니고 짧은 주소가 유지 될수는 없을까요?
  • 2024.10.14 00:22 #1840878

    그러자면 수정해야 할 것이 훨씬 많아져서, 팁글이 아니라 수정 버전을 배포하는 수준이 되어 버립니다. 개발자분께서 최근 홈페이지 리뉴얼까지 해가며 활동하고 계신 상황에서 예의가 아닌 것 같네요.^^

  • 2024.10.14 02:14 #1840886
    아 그렇군요. 감사합니다!
  • 2024.10.22 07:01 #1842358
    참고해서 업데이트 했습니다.
    감사합니다.