WordPress 기반 포럼에서 Discourse로 마이그레이션을 시도하고 있습니다.
기존 URL은 다음과 같은 형식입니다.
https://example.com/question/questioncontent
Discourse에서는 주제가 다음과 같은 URI로 생성됩니다.
https://example.com/t/questioncontent
따라서 기존 포럼의 전체 내용을 새 포럼으로 복사했습니다.
저는 기술에 밝지 않아 위험을 감수하고 싶지 않아서 스크립트를 사용하지 않았습니다. 게시글이 약 18개 정도라 모든 내용을 수동으로 복사했습니다.
이제 제 질문은, 검색 엔진에 이미 인덱싱된 기존 포럼 링크를 어떻게 리디렉션할 수 있느냐는 것입니다.
리디렉션을 위해 영구 링크(permalink) 기능을 시도해 보았지만, 여전히 리디렉션이 되지 않습니다.
무엇을 놓친 것일까요? 올바른 절차로 안내해 주실 분을 부탁드립니다.
pfaffman
(Jay Pfaffman)
2
관리자 → 사용자 지정 → 영구 링크를 참조하세요. 기존 18개의 URL에서 새 주제로 리디렉션을 생성할 수 있습니다.
시도해 봤는데, 불행히도 리다이렉트되지 않았습니다.
도움 좀 주실 수 있나요? 제 환경에서는 작동하지 않습니다.
fzngagan
(Faizaan Gagan)
5
이를 위해 플러그인을 작성했습니다.
위 코드를 다음과 같이 변경하세요:
get '/question/:slug', to: redirect('/t/%{slug}')
pfaffman
(Jay Pfaffman)
7
왜 안 되는지 상상이 안 되지만, 당신이 무엇을 했는지에 대한 더 많은 정보가 없이는 판단하기 어렵습니다. 다만, 왜 플러그인이 필요한지 이해하기 어렵습니다. 18에서는 수동으로 생성할 수 있지만, 영구 링크 정규화를 사용해 한 번에 처리할 수도 있습니다.
수정: 영구 링크는 수신 링크에만 작동하며, discourse 내부 링크에는 적용되지 않습니다. 일반적으로는 게시글 내의 해당 링크를 다시 작성하는 방식으로 처리합니다.
구럼 포럼 URL을 디스코스로 리다이렉트하고 있었습니다. 왜 안 되는지 모르겠네요.
확인하고 싶은 게 있어요.
예를 들어, 기존 URL이 1. forum.example.com/must-read-rules
이고 디스코스 URL이 2. forum.example.com/t/must-read-rules/47
라면, 1번을 ‘New’ 필드에, 2번을 ‘Destination’ 필드에 입력하면 되는 거죠? 맞나요?
어리석은 질문 죄송합니다!
pfaffman
(Jay Pfaffman)
9
URL 필드에 must-read-rules를 입력하고, "topic ID"가 선택된 상태를 유지한 채 topic ID 필드에 47을 입력하세요. 이렇게요:

커스터마이즈 옵션 안의 리다이렉트 옵션이 제게 작동하지 않습니다.
어떻게 하면 작동하게 할 수 있을까요?
Stephen
(Stephen)
11
디스커스 콘텐츠 으로의 수신 링크를 리디렉션하려는 건가요, 아니면 디스커스 내부(예: 페이지 간)의 링크를 리디렉션하려는 건가요?
pfaffman
(Jay Pfaffman)
12
맞아요! 영구링크는 수신 URL에서만 작동합니다. 이 문제가 원인일 것 같습니다.
Stephen
(Stephen)
14
입링크는 영구 링크(permalink) 기능을 통해 리디렉션됩니다. 게시물 사이의 내부 링크는 새로운 목적지를 반영하도록 수정해야 하며, 영구 링크 리디렉션은 해당 부분에 적용되지 않습니다.
정상적으로 작동하도록 만드는 가능한 방법에는 어떤 것들이 있나요?
첫 번째 URL은 이전 워드프레스 포럼 주소이고, 두 번째 URL은 디스코URS 주소입니다.
성공적으로 리다이렉트하려면 어떻게 해야 하나요?
부탁인데, 코드를 어떻게 수정해야 하는지 알려주실 수 있나요? 가이드 같은 게 있을까요? 플러그인은 설치했는데, 말씀하신 슬러그를 수정해야 하는 특정 부분을 찾지 못했어요.
거기에 여러 URL을 추가할 수 있나요?
아니면 URL 구조만 가능한가요?