# 두 도메인, 조건부 리다이렉트

**URL:** https://meta.discourse.org/t/two-domains-conditional-redirect/168597
**Category:** Support
**Created:** [10월 28, 2020, 11:52오후 UTC](https://meta.discourse.org/t/two-domains-conditional-redirect/168597 "2020-10-28T23:52:35Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![pacificmeister](https://avatars.discourse-cdn.com/v4/letter/p/848f3c/32.png) [@pacificmeister](https://meta.discourse.org/u/pacificmeister)
#### Post date: [10월 28, 2020, 11:52오후 UTC](https://meta.discourse.org/t/two-domains-conditional-redirect/168597/1 "2020-10-28T23:52:35Z")

</div>

Discourse 전문가 여러분, 안녕하세요!

저희는 3년 동안 Discourse 포럼(DOMAIN1)을 운영해 왔습니다. 이제 토론 범위를 확장하고 DOMAIN2를 추가하려고 합니다. [이 게시물](https://meta.discourse.org/t/setting-up-let-s-encrypt-with-multiple-domains/56685) 덕분에 Let’s Encrypt를 사용하여 두 도메인 모두를 활성화하는 데 성공했습니다. 이 게시물에서 1단계 이후 두 도메인 모두를 활성화 상태로 유지하는 것이 잘 작동했습니다. 두 번째 도메인은 메인 도메인 이름으로 리디렉션되며, 이는 좋은 상태입니다.

전환 작업의 일부로 기존 카테고리를 모두 새로운 최상위 카테고리로 이동해야 합니다.

DOMAIN2가 메인 Discourse 도메인이 되고, DOMAIN1은 게시물을 가리키는 외부 링크가 계속 작동하도록 링크된 상태로 유지됩니다.

여기서 질문이 있습니다: “바닐라” 상태의 DOMAIN1(경로 없이 루트 URL만)이 호출될 때, 새로운 최상위 카테고리 URL로 리디렉션하는 방법을 어떻게 추가할 수 있을까요? DOMAIN1의 다른 모든 호출(경로 포함)은 기존 경로를 유지해야 합니다(변경 사항 없음, 이미 작동 중). 이렇게 하면 DOMAIN1에 접속하는 모든 사용자가 해당 카테고리에 도달하게 되어 혼란을 최소화할 수 있으며, 모든 것이 이전과 비슷하게 보일 것입니다.

이러한 이중 도메인 설정에서 조건부 리디렉션을 추가하는 방법에 대한 조언을 주실 수 있기를 바랍니다.

감사합니다!  
Merten

---

<div class="post-metadata">

### Author: ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)
#### Post date: [10월 29, 2020, 1:46오전 UTC](https://meta.discourse.org/t/two-domains-conditional-redirect/168597/2 "2020-10-29T01:46:27Z")

</div>

어려움을 겪게 될 것입니다: 단일 Discourse 인스턴스는 여러 URL에서 동시에 작동할 수 없으며, 기존 라우트(예: 주제 보기)에 대한 영구 링크 리다이렉트는 작동하지 않습니다.

---

<div class="post-metadata">

### Author: ![tyler.clark](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tyler.clark/32/120645_2.png) [@tyler.clark](https://meta.discourse.org/u/tyler.clark)
#### Post date: [10월 29, 2020, 1:54오전 UTC](https://meta.discourse.org/t/two-domains-conditional-redirect/168597/3 "2020-10-29T01:54:36Z")

</div>

즉, 다음 작업을 수행할 간단한 방법이 없다는 말씀이신가요?

(1) `domain1.com`으로 접속하면 Discourse가 실행되고 있습니다(주 호스트명이 `domain1.com` - 정상 작동)  
(2) `domain2.com`으로 접속하면 `domain1.com/c/example/18`으로 이동합니다(우리가 원하는 동작)  
(3) `domain2.com/t/topic/1`으로 접속하면 `domain1.com/t/topic/1` 또는 `domain2.com/t/topic/1`이 표시됩니다(현재 정상 작동)

현재 이관 작업을 진행 중이며, `domain2.com`의 루트 경로만 카테고리로 리다이렉트되도록 설정하고 싶습니다. 이를 위한 URL 재작성(URL rewriting) 기능이 있을까요?

---

<div class="post-metadata">

### Author: ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)
#### Post date: [10월 29, 2020, 2:17오전 UTC](https://meta.discourse.org/t/two-domains-conditional-redirect/168597/4 "2020-10-29T02:17:04Z")

</div>

domain2가 **오직** 리다이렉션 규칙만 제공하는 경우라면, 이를 수행하기 위한 nginx 설정을 작성할 수 있습니다. 다만 그 세부 사항은 Meta의 범위 밖입니다.

---

<div class="post-metadata">

### Author: ![csmu](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/csmu/32/124581_2.png) [@csmu](https://meta.discourse.org/u/csmu)
#### Post date: [10월 29, 2020, 2:26오전 UTC](https://meta.discourse.org/t/two-domains-conditional-redirect/168597/5 "2020-10-29T02:26:30Z")

</div>

> [@riking](#):
>
> nginx 설정을 작성해서 그렇게 할 수 있습니다;

[사이트 맵 플러그인](https://github.com/discourse/discourse-sitemap)을 nginx의 [302 리다이렉트](https://en.wikipedia.org/wiki/HTTP_302)에 대한 원본 데이터로 사용할 수는 없을까요?

---

<div class="post-metadata">

### Author: ![tyler.clark](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tyler.clark/32/120645_2.png) [@tyler.clark](https://meta.discourse.org/u/tyler.clark)
#### Post date: [10월 29, 2020, 12:58오후 UTC](https://meta.discourse.org/t/two-domains-conditional-redirect/168597/6 "2020-10-29T12:58:49Z")

</div>

다음 내용을 `web.ssl.template.yml` 파일에 추가하여 문제를 해결했습니다:

```plaintext
if ($host = domain2.com) {
    rewrite ^/$ /c/example/18 permanent;
}

```

---

<div class="post-metadata">

### Author: ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)
#### Post date: [10월 29, 2020, 2:23오후 UTC](https://meta.discourse.org/t/two-domains-conditional-redirect/168597/7 "2020-10-29T14:23:34Z")

</div>

그 대신 `app.yml`에 `replace` 지시문으로 이동해 주세요. 그렇지 않으면 향후 업그레이드가 매우 번거로워질 수 있습니다!

---

<div class="post-metadata">

### Author: ![tyler.clark](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tyler.clark/32/120645_2.png) [@tyler.clark](https://meta.discourse.org/u/tyler.clark)
#### Post date: [10월 29, 2020, 2:49오후 UTC](https://meta.discourse.org/t/two-domains-conditional-redirect/168597/8 "2020-10-29T14:49:17Z")

</div>

오, 감사합니다!!!
