라이믹스/라우터

Gaon12 (토론 / 기여)님의 2025년 12월 8일 (월) 22:11 판 (문법 오타 수정)
(차이) ← 이전 판 / 최신판 (차이) / 다음 판 → (차이)

개요

라이믹스 2.0 버전에 추가된 기능으로, URL을 짧고 간결하게 만들어주는 역할을 한다. 예를 들어, 일반적인 URL 구조가 https://example.com/index.php?mid=board&document_srl=123라면, 라우터 기능을 통해 https://example.com/board/123와 같이 단순화할 수 있다. 이는 사용자가 URL을 쉽게 기억하고 입력할 수 있게 해준다.

장점

간결한 URL

복잡한 쿼리 스트링을 단순한 경로로 변환하여 가독성이 높다. 예를 들어 글 작성 페이지는 https://example.com/notice/write 형식으로 구성되어 있어, 기존 방식인 https://example.com/index.php?mid=notice&act=dispBoardWrite에 비해 어떤 mid, act인지 한눈에 이해하기 쉽다.

SEO 향상

검색 엔진이 URL을 더 쉽게 인덱싱할 수 있어 검색 결과에 긍정적인 영향을 미친다. 간결한 URL은 검색 엔진 입장에서도 이해하기 쉽기 때문에, 더 높은 점수를 얻을 수 있다.

사용자 경험 개선

SEO 향상과 같은 이유로, 사용자가 URL을 쉽게 기억하고 공유할 수 있어 웹사이트의 접근성이 향상된다.

모듈화된 관리

각 모듈이 자신만의 URL 패턴을 정의할 수 있어, 다양한 기능을 독립적으로 관리할 수 있다.

사용법

사이트 적용

사이트 내에 적용하기 위해서는 관리자 페이지(/admin)에 들어간 후, 설정 → 시스템 설정 → 고급 설정에서, 짧은 주소 사용 기능을 모든 주소 형태를 사용으로 변경한다.

이때 서드파티 모듈이나 애드온 등에서 지원하지 않는 경우에는 오류가 발생할 수 있다.[1]

nginx 적용

아파치의 경우, .htaccess를 사용하므로 별도로 작업할 것은 없지만, nginx의 경우에는 서버에 적용해야 한다. 우분투 기준 아래의 명령어를 입력한다.

curl https://raw.githubusercontent.com/rhymix/rhymix/master/common/manual/server_config/rhymix-nginx.conf > /etc/nginx/snippets/rhymix.conf

더 자세한 내용은 깃허브 문서를 확인하기 바랍니다.

개발자 가이드

모듈에서 라우터 사용

라우터 기능을 사용하기 위해서는 `module.xml` 파일에서 `route` 속성을 정의해야 한다. 예를 들어, 게시판 모듈에서 특정 글을 삭제하는 URL을 정의하려면 다음과 같이 설정할 수 있다.

<action name="dispBoardDelete" type="view" route="$document_srl/delete" />

이렇게 하면 /board/123/delete와 같은 URL을 사용할 수 있다. 또한, `<route>` 태그를 사용하면 하나의 액션에 여러 개의 짧은주소를 정의할 수 있다.

<action name="dispBoardWrite" type="view">
    <route route="write" />
    <route route="$document_srl/edit" />
</action>

위 설정을 적용하면 /notice/write/notice/123/edit와 같은 URL을 사용할 수 있다.

우선순위 설정

여러 개의 짧은주소가 동일한 변수들을 사용하여 충돌할 경우, `priority` 속성을 사용하여 우선순위를 지정할 수 있다.

<action name="dispBoardExample" type="view">
    <route route="downtown/$baby" priority="20" />
    <route route="hasta/la-vista/$baby" priority="10" />
</action>

우선순위가 높은 라우트가 먼저 적용된다.

404 에러 처리

라우트가 정의되지 않은 URL 요청이 들어오면, 모듈에서 404 에러 핸들러를 지정하여 사용자 친화적인 에러 페이지를 제공할 수 있다.

<action name="dispBoardNotFound" type="view" error-handlers="404" />

이렇게 설정하면 잘못된 URL이 요청될 경우 `dispBoardNotFound` 메소드가 실행된다.

전역 짧은주소 사용

mid 없이도 작동하는 기능(예: 통합검색)의 경우, `global-route="true"` 속성을 추가하여 전역 라우트를 설정할 수 있다.

<action name="IS" type="view" global-route="true">
    <route route="search" />
</action>

이를 통해 https://example.com/search와 같은 URL이 사용 가능하다. 다만, 전역 라우트는 다른 모듈과 충돌할 위험이 있으므로 신중하게 사용해야 한다.

문서

자세한 내용은 공식 문서를 확인하기 바랍니다.

각주

  1. 코어 모듈들은 모두 지원함.

최근 바뀜

더 보기