Topic with Japanese in URL doesn't redirect if URL doesn't perfectly match

저희도 동일한 문제를 겪었습니다. @Falco 님이 어제 해당 문제를 수정했습니다.

Discourse 설치 버전을 업그레이드(https://myforum.example.com/admin/upgrade)한 후, 업그레이드가 완료되면 슬러그를 "rebake"해야 합니다. @Falco 님의 안내를 따라가시면 됩니다:

위 안내가 저희에게는 완벽하게 작동했습니다 :smiley: (참고로 @Falco 님 감사합니다!)

5개의 좋아요

이 해결책으로 문제가 해결되었습니다. 슬러그를 다시 생성해야 했습니다.


@Falco 님, 문제를 해결하기 위해 정말 많은 노력을 기울여 주셔서 진심으로 감사드립니다.

또한, 무료 서비스인 디스코스를 위해 수년간의 경험을 아낌없이 나누어 주신 @codinghorror, @sam 그리고 다른 모든 분들께도 감사드립니다. 인터넷을 더 나은 곳으로 만들어 주셔서 감사합니다.

여러분의 노고에 깊이 감사드립니다.

8개의 좋아요

@Falco님과 Discourse 팀, 수정해 주셔서 감사합니다 :rose:

슬러그 생성 방식을 encoded로 변경한 후, 슬러그를 다시 생성(rebake)하지 않아도 404 토픽 문제가 해결되었습니다.

하지만 여전히 not found categories(카테고리를 찾을 수 없음) 문제가 발생했습니다. 실수를 하지 않도록 스테이징 Discourse에서 여러 가지를 시도해 보았습니다 :grin:

문제 설명

  1. 슬러그 생성 방식을 ascii로 되돌렸을 때:

카테고리가 다시 정상 작동하며, 생성된 URL도 문제없습니다(예상대로 아랍어):

https://discourse.coretabs.net/c/%D8%A7%D9%84%D8%A3%D8%B3%D8%A6%D9%84%D8%A9-%D9%88%D8%A7%D9%84%D8%A7%D8%B3%D8%AA%D9%81%D8%B3%D8%A7%D8%B1%D8%A7%D8%AA

하지만, 토픽의 생성된 URL은 제목이 실제로 아랍어임에도 불구하고 영어만 표시됩니다. 예:

https://discourse.coretabs.net/t/5-mktbat-baythwn-mfydt-lmsharye-telym-alalt/2930/5
  1. 슬러그 생성 방식을 encoded로 변경했을 때:

카테고리는 작동하지 않습니다(Oops! That page doesn’t exist or is private. 메시지 표시), 하지만 생성된 URL은 문제없습니다(예상대로 아랍어):

https://discourse.coretabs.net/c/%D8%B9%D8%A7%D9%85

그리고 토픽은 정상 작동하며, 예상대로 아랍어 URL이 생성됩니다:

https://discourse.coretabs.net/t/5-%D9%85%D9%83%D8%AA%D8%A8%D8%A7%D8%A7%D8%AA-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-%D9%85%D9%81%D9%8A%D8%AF%D8%A9-%D9%84%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D8%AA%D8%B9%D9%84%D9%8A%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/2930/5

해결 방법

  1. 슬러그 생성 설정을 ascii로 변경
  2. 모든 카테고리 페이지에서 카테고리 슬러그를 영어로 변경
  3. 슬러그 생성 설정을 encoded로 변경
  4. 이제 원하는 언어로 카테고리 슬러그를 변경할 수 있습니다
5개의 좋아요

다른 사이트에 링크를 공유하면 링크가 다음과 같이 변합니다.

E0%AE%AE%E0%AE%BF%E0%AE%A9%E0%AF%8D%E0%AE%A9%E0%AE%B2%E0%AF%8D-%E0%AE%B5%E0%AE%BF%E0%AE%B4%E0%AE%BF%E0%AE%AF%E0%AF%87-%E0%AE%95%E0%AF%81%E0%AE%9F%E0%AF%8D%E0%AE%9F%E0%AE%BF%E0%AE%A4%E0%AF%8D-%E0%AE%A4%E0%AE%BF%E0%AE%AE%E0%AE%BF%E0%AE%B0%E0%AF%87-2/1154/3

URL에서는 인코딩이 정상적으로 작동합니다.

image

하지만 URL을 다른 곳에 복사해서 붙여넣으면 다음과 같이 변합니다.

Discourse를 최신 릴리스로 업그레이드했습니다.

그리고 @Falco 님이 언급하신 대로 슬러그를 다시 생성(rebake)했습니다. 여전히 동일한 문제가 발생하고 있습니다. :frowning:

그건 문제가 아니라, 원래 그런 방식입니다.

많은 서비스가 IRI(특수 문자가 포함된 URL)를 지원하지 않기 때문에, 어디에서든 작동하도록 해당 문자들을 인코딩(많은 %XX 형태)하고 있습니다.

브라우저는 충분히 똑똑해서 위치 표시줄에 디코딩된 형태로 표시해 주므로, 굳이 그 형태를 확인하실 필요가 없습니다.

10개의 좋아요

알려주셔서 감사합니다! @Falco :slight_smile:
앞으로 어디에 공유하기 전에 URL 단축기를 사용하겠습니다.

3개의 좋아요

community.wanikani.com에서 이미 여러 사람이 원래 문제의 수정 사항을 발견했으며, 저도 그 결과가 괜찮아 보입니다. 다만, 다른 사람들이 언급한 동일한 하위 카테고리 문제(유니코드 문자를 포함하는 하위 카테고리에서 발생하는 404 오류)를 확인하고 있습니다. 호스팅된 사이트인 만큼, 최신 수정 사항을 배포하고 필요하면 rebake를 수행해 주실 수 있으신가요? 그러면 완전히 수정되었는지 확인해 볼 수 있을 것 같습니다. 그렇지 않다면, 일주일 후에 다시 확인해 보겠습니다.

1개의 좋아요

네, 다음 주 초에 할 수 있습니다.

3개의 좋아요

여기에 언급된 수정 사항을 적용해야 한다고 생각합니다:

3개의 좋아요

귀하의 사이트가 최신 버전으로 배포되었으며 슬러그가 다시 생성되었습니다.

4개의 좋아요

위에서 언급했듯이 제 문제는 해결된 것처럼 보였어요 :roll_eyes: 하지만 "Categories"의 "accents"에서 이들을 볼 수 있는 반면, 두 번째 페이지는 로드되지 않아요. :unamused:

slugs는 encoded 상태입니다.

수동으로 카테고리 이름을 편집하여 발음 기호를 제거하면 예상대로 작동하지만, 그렇지 않으면 작동하지 않습니다.

1개의 좋아요

하위 카테고리에 대한 수정이 지난 금요일에 적용되었으므로, 최신 버전으로 다시 업데이트해 주세요. /admin/upgrade 페이지를 방문하여 업데이트를 진행할 수 있습니다.

3개의 좋아요

이 주제는 7시간 후 자동으로 닫혔습니다. 더 이상 새로운 답글을 작성할 수 없습니다.