엣지 케이스 서브폴더 설정에서 FAQ 링크 문제

먼저, 이는 /f 하위 폴더가 포함된 제 환경에 매우 특이한 에지 케이스입니다.

햄버거 메뉴의 Discourse 링크는 하위 폴더 없이 /faq를 가리키는데, 이는 /faq가 /f로 시작하기 때문입니다.

다음 인용문을 고려해 볼 때:

아래 코드를

  const found = url.startsWith(baseUri);

다음과 같이 변경할 수 있을 것 같습니다:

  const found = url === baseUri || url.startsWith(`${baseUri}/`);

이렇게 하면 /f, /f/, /f/faq는 매칭되지만 /faq는 매칭되지 않아, 후자에 대해 baseUri가 올바르게 앞에 붙게 됩니다.

어쨌든, 라우트 자체도 작동하지 않아 /f/faq는 404를 반환합니다. 라우터 레벨에서도 유사한 로직이 있는 것 같습니다. 이전에 /f/following도 작동하지 않는다는 것을 발견했습니다 (cc @merefield).

마지막으로, 임시 해결책으로 faq url 사이트 설정을 /f/guidelines로 변경했는데, 이렇게 하면 링크와 404 문제가 해결되지만, 네비게이션 바에 Guidelines와 FAQ 용어가 모두 표시되고 둘 다 faq url에 설정된 값으로 가리키는 사소한 이상 현상이 발생합니다 (실제 페이지에서 확인할 수 있습니다):

3가지 문제가 포함된 이런 종류의 종합적인 토픽을 올린 점 죄송합니다. 하지만 이 문제들은 서로 매우 밀접하게 관련되어 있어 제대로 분리하기가 어렵다고 생각합니다.

감사합니다.

2개의 좋아요

get-url 문제를 해결하기 위해 PR을 보냈습니다:

/f/faq와 /f/favicon/proxied에서 404가 발생하는 문제에 대해, 컨테이너 내에서 Nginx를 우회하여 해당 라우트를 CURL로 요청하면 정상적으로 작동합니다. https://meta.discourse.org/t/subfolder-support-with-docker/30507에 설명된 location 지시문을 location /subfolder에서 location /subfolder/으로 변경하여 문제를 해결할 수 있었습니다.

내비게이션 바에 Guidelines와 FAQ가 모두 표시되는 것은 예상된 동작이며, 사용자가 faq url을 동일한 URL로 덮어쓰는 일은 드물 것입니다.

5개의 좋아요

그럼 닫아도 되는 건가요? :slight_smile: NGINX 문제는 더 자세한 문서화로 해결된 건가요?

1개의 좋아요

네, 괜찮습니다. howto 주제에서 변경 사항을 제안했습니다.

감사합니다.

1개의 좋아요

아, 이건 위키네요! 마음대로 수정하세요! :heart:

1개의 좋아요