서브폴더에서 서브도메인으로 마이그레이션 후 일부 요청에서 도메인이 누락됩니다

안녕하세요 여러분,

서브디렉토리에 설치되어 있던 Discourse를 서브도메인으로 이동했습니다. 지금은 모든 것이 정상적으로 작동하는 것 같지만, Discourse가 서브디렉토리가 아닌 “theme-javascripts” 도메인을 호출하는 문제가 남아 있습니다.

최신 버전의 Discourse를 사용하고 있습니다.

이 문제를 어떻게 해결할 수 있을까요?

감사합니다.

서브도메인 대신 서브폴더(경접 접두사)에서 Discourse 서빙을 거꾸로 적용하신 건가요?

URL을 공유해 주시겠어요?

제이, 했어요. 이 작업은 처음이 아니라서, 과거에도 문제없이 해본 적 있어요. 새 URL은 (URL 숨김)입니다.

참고로, 현재 디자이너가 스타일을 작업 중이라, 지금은 네비게이션에서 이상한 현상이 보일 수 있어요.

아, 뭔가

https://theme-javascripts/44e23af3ca6cf81f41e66da02a80e1c9b45653cc.js?__ws=community.windowcleaner.com

을 참조하고 있네요.

https://community.windowcleaner.com/theme-javascripts/44e23af3ca6cf81f41e66da02a80e1c9b45653cc.js?__ws=community.windowcleaner.com

이 아니라요.

아마도 app.yml 파일에 뭔가가 남아 있어서… 음… 뭔가(예를 들어 “/” 같은 것)를 참조하고 있다가 앞에 https가 붙게 만드는 건 아닐까요?

실제로 그런 상황입니다. 여러 번 재빌드를 시도해 봤지만 아직 성공하지 못했습니다. 원인을 파악할 수 있으면 이 스레드에 업데이트하겠습니다!

여전히 해결되지 않고 있습니다! 공식 플러그인에서 비롯된 코드 범위로 범위를 좁혔습니다. 해결책을 찾으면 업데이트하겠습니다.

어떤 곳에서 hostname 값이 비어 있나요?

app.yml에서 DISCOURSE_HOSTNAME:의 값은 무엇인가요?

Hey @merefield, 빈 값이 아닙니다. 값은 (URL이 숨겨져 있습니다). 다만, 테마 JavaScript가 앞쪽에 슬래시 두 개가 붙어 호출되고 있는 것으로 보이므로, 같은 문제이거나 이와 유사한 원인일 것 같습니다. 서브디렉터리에서 이동한 후 데이터베이스의 어떤 값이 업데이트되지 않았을 수도 있겠다는 생각이 드네요. 그 부분을 조사해 보고 있습니다.

수정된 것 같습니다. remap만 하면 되었는데, 제가 rebuild를 하지 않았는데도 rebuild 이후에 에러가 발생했으니, 그 잘못된 URL이 처음부터 어떻게 그곳에 있었는지 모르겠습니다.

어쨌든, 이 문제를 해결하기 위해 제가 한 작업은 다음과 같습니다:

> ./launcher enter app
> discourse remap //theme-javascripts  /theme-javascripts
> Rewriting all occurrences of //theme-javascripts to /theme-javascripts
> THIS TASK WILL REWRITE DATA, ARE YOU SURE (type YES)
> YES
> theme_fields=4
> Done

앞으로 다른 분들에게 도움이 되기를 바랍니다.