귀하는 로그인되어 있지 않습니다. 이대로 편집하면 귀하의 IP 주소가 편집 기록에 남게 됩니다.스팸 방지 검사입니다. 이것을 입력하지 마세요!== 개요== [[라이믹스]] [[라이믹스/릴리즈_노트/2.0.0|2.0 버전]]에 추가된 기능으로, URL을 짧고 간결하게 만들어주는 역할을 한다. 예를 들어, 일반적인 URL 구조가 <nowiki><code>https://example.com/index.php?mid=board&document_srl=123</code></nowiki>라면, 라우터 기능을 통해 <nowiki><code>https://example.com/board/123</code></nowiki>와 같이 단순화할 수 있다. 이는 사용자가 URL을 쉽게 기억하고 입력할 수 있게 해준다. == 장점 == === 간결한 URL === 복잡한 쿼리 스트링을 단순한 경로로 변환하여 가독성이 높다. 예를 들어 글 작성 페이지는 <nowiki><code>https://example.com/notice/write</code></nowiki> 형식으로 구성되어 있어, 기존 방식인 <nowiki><code>https://example.com/index.php?mid=notice&act=dispBoardWrite</code></nowiki>에 비해 어떤 <nowiki><code>mid</code></nowiki>, <nowiki><code>act</code></nowiki>인지 한눈에 이해하기 쉽다. === SEO 향상 === 검색 엔진이 URL을 더 쉽게 인덱싱할 수 있어 검색 결과에 긍정적인 영향을 미친다. 간결한 URL은 검색 엔진 입장에서도 이해하기 쉽기 때문에, 더 높은 점수를 얻을 수 있다. === 사용자 경험 개선 === SEO 향상과 같은 이유로, 사용자가 URL을 쉽게 기억하고 공유할 수 있어 웹사이트의 접근성이 향상된다. === 모듈화된 관리 === 각 모듈이 자신만의 URL 패턴을 정의할 수 있어, 다양한 기능을 독립적으로 관리할 수 있다. == 사용법 == === 사이트 적용 === 사이트 내에 적용하기 위해서는 관리자 페이지(<nowiki><code>/admin</code></nowiki>)에 들어간 후, '''설정 → 시스템 설정 → 고급 설정'''에서, <nowiki><code>짧은 주소 사용</code></nowiki> 기능을 <nowiki><code>모든 주소 형태를 사용</code></nowiki>으로 변경한다. 이때 서드파티 모듈이나 애드온 등에서 지원하지 않는 경우에는 오류가 발생할 수 있다.<ref>코어 모듈들은 모두 지원함.</ref> === nginx 적용 === 아파치의 경우, <nowiki><code>.htaccess</code></nowiki>를 사용하므로 별도로 작업할 것은 없지만, nginx의 경우에는 서버에 적용해야 한다. 우분투 기준 아래의 명령어를 입력한다. <syntaxhighlight lang='sh'> curl https://raw.githubusercontent.com/rhymix/rhymix/master/common/manual/server_config/rhymix-nginx.conf > /etc/nginx/snippets/rhymix.conf </syntaxhighlight> 더 자세한 내용은 [https://github.com/rhymix/rhymix-docs/blob/master/ko/introduction/nginx.md 깃허브 문서]를 확인하기 바랍니다. == 개발자 가이드 == === 모듈에서 라우터 사용 === 라우터 기능을 사용하기 위해서는 <nowiki>`module.xml`</nowiki> 파일에서 <nowiki>`route`</nowiki> 속성을 정의해야 한다. 예를 들어, 게시판 모듈에서 특정 글을 삭제하는 URL을 정의하려면 다음과 같이 설정할 수 있다. <syntaxhighlight lang='xml'> <action name="dispBoardDelete" type="view" route="$document_srl/delete" /> </syntaxhighlight> 이렇게 하면 <nowiki><code>/board/123/delete</code></nowiki>와 같은 URL을 사용할 수 있다. 또한, <nowiki>`<route>`</nowiki> 태그를 사용하면 하나의 액션에 여러 개의 짧은주소를 정의할 수 있다. <syntaxhighlight lang='xml'> <action name="dispBoardWrite" type="view"> <route route="write" /> <route route="$document_srl/edit" /> </action> </syntaxhighlight> 위 설정을 적용하면 <nowiki><code>/notice/write</code></nowiki>와 <nowiki><code>/notice/123/edit</code></nowiki>와 같은 URL을 사용할 수 있다. === 우선순위 설정 === 여러 개의 짧은주소가 동일한 변수들을 사용하여 충돌할 경우, <nowiki>`priority`</nowiki> 속성을 사용하여 우선순위를 지정할 수 있다. <syntaxhighlight lang='xml'> <action name="dispBoardExample" type="view"> <route route="downtown/$baby" priority="20" /> <route route="hasta/la-vista/$baby" priority="10" /> </action> </syntaxhighlight> 우선순위가 높은 라우트가 먼저 적용된다. === 404 에러 처리 === 라우트가 정의되지 않은 URL 요청이 들어오면, 모듈에서 404 에러 핸들러를 지정하여 사용자 친화적인 에러 페이지를 제공할 수 있다. <syntaxhighlight lang='xml'> <action name="dispBoardNotFound" type="view" error-handlers="404" /> </syntaxhighlight> 이렇게 설정하면 잘못된 URL이 요청될 경우 <nowiki>`dispBoardNotFound`</nowiki> 메소드가 실행된다. === 전역 짧은주소 사용 === mid 없이도 작동하는 기능(예: 통합검색)의 경우, <nowiki>`global-route="true"`</nowiki> 속성을 추가하여 전역 라우트를 설정할 수 있다. <syntaxhighlight lang='xml'> <action name="IS" type="view" global-route="true"> <route route="search" /> </action> </syntaxhighlight> 이를 통해 <nowiki><code>https://example.com/search</code></nowiki>와 같은 URL이 사용 가능하다. 다만, 전역 라우트는 다른 모듈과 충돌할 위험이 있으므로 신중하게 사용해야 한다. == 문서 == 자세한 내용은 [https://rhymix.org/manual/plugin/router/router 공식 문서]를 확인하기 바랍니다. == 각주 == <!-- 분류 --> [[분류:라이믹스]] 편집 요약 가온 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 가온 위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요. 또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요! 취소 편집 도움말 (새 창에서 열림)