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

그렇다면 사람들이 인코딩된 형식에서 ASCII로 전환할 때 슬러그가 재생성되지 않는다는 뜻인가요? 그렇다면 슬러그를 초기화하기 위해 작성하신 일회성 프로세스가 해당 경우에 작동하지 않을 것 같습니다.

1개의 좋아요

안녕하세요,

해당 pull 요청으로 문제가 완전히 해결되지 않았습니다. 슬러그에 + 기호가 포함된 경우 400 오류가 표시됩니다.

이 문제를 확인하기 위해 슬러그 생성 방식을 "None"으로 되돌린 후, 제목을 편집하여 제목에서 + 기호를 제거하고 다시 "encoded"로 전환하였더니 400 오류가 수정되었습니다.

즉, 제목에 플러스(+) 기호가 포함된 경우 400 오류가 반환되는 시나리오입니다. (이 외에도 이 문제를 유발할 수 있는 다른 문자가 있을 수 있습니다. 저는 + 기호만 테스트했습니다.)

감사합니다.

5개의 좋아요

토픽 슬러그에서 발생하는 건가요, 아니면 카테고리 슬러그에서 발생하는 건가요?

4개의 좋아요

토픽 슬러그입니다. 카테고리에서는 시도해 보지 않았습니다.

3개의 좋아요

encoded 슬러그 생성기는 모든 + 기호를 제거하므로, 어떻게 그런 결과가 나오는지는 전혀 모르겠습니다:

로컬에서 직접 테스트해 봤는데, 제 환경에서는 정상적으로 제거됩니다.

3개의 좋아요

아마도 로컬 환경에서는 상황이 다를 수 있습니다.
제 웹사이트 언어는 페르시아어입니다. 페르시아어로 전환한 후 테스트해 주시겠어요?

이 문제를 재현하려면 다음 제목으로 토픽을 생성하세요:
گربه های ایرانی + از نژاد خوبی برخوردار هستند

제 슬러그가 읽을 수 없는 형식으로 변환되어 400 오류를 반환합니다:

https://domain.ltd/t/%D8%A9%DA%A9%D8%A7%D9%86%D8%AA-%D9%BE%D8%B1%D9%85%DB%8C%D9%88%D9%85-%D9%88%D8%A8-%D8%B3%D8%A7%DB%8C%D8%AA-%D9%85%D9%88%D8%B2-%D8%B1%D8%A7%DB%8C%DA%AF%D8%A7%D9%86-%D8%A7%D8%B4%D8%AA%D8%B1%D8%A7%DA%A9-%D8%B4%D8%AE%D8%B5%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%DA%A/2067/40

2개의 좋아요

오직 당신만이 "og"의 + 기호가 아니라, 그와 비슷해 보이는 다른 페르시아 문자를 사용하고 있는 것 같습니다. 문제를 재현하는 문자열을 공유해 주시겠습니까?

3개의 좋아요

이전 답변을 수정했습니다. 확인 차 말씀드리면, 기호는 + 입니다.

2개의 좋아요

이상하네요. 제 경우 슬러그는 다음과 같이 변환됩니다.

%DA%AF%D8%B1%D8%A8%D9%87-%D9%87%D8%A7%DB%8C-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%DB%8C-%D8%A7%D8%B2-%D9%86%DA%98%D8%A7%D8%AF-%D8%AE%D9%88%D8%A8%DB%8C-%D8%A8%D8%B1%D8%AE%D9%88%D8%B1%D8%AF%D8%A7%D8%B1-%D9%87%D8%B3%D8%AA%D9%86%D8%AF

최신 버전을 실행 중이고 페이지를 새로고침한 상태인지 확인해 보셨나요?

2개의 좋아요

최신 버전을 사용 중입니다.

이제 혼란스럽네요. 손상된 슬러그가 있는 토픽과 동일한 조건으로 새 토픽을 생성해 보았습니다. 잘 작동합니다. 말씀하신 대로, 문제를 일으키는 원인이 + 기호가 아닐 가능성이 큽니다.

더미(dummy)를 설치하고 몇 가지 테스트를 해볼 시간을 주십시오. 이 토픽에 추가 정보를 업데이트하겠습니다.

감사합니다

2개의 좋아요

그 URL을 공유 버튼에서 가져온 건가요? 이중 인코딩 문제가 있었는데, 최신 머지에서 수정했습니다.

2개의 좋아요

이 스크린캐스트를 확인해 보세요.

3개의 좋아요

아, 문제를 찾았어요. 슬러그가 255자를 초과할 때만 발생하며, 그 경우에도 66%에서만 나타나요. 내일 수정 작업을 진행할게요.

12개의 좋아요

우리도 그런 일이 있어요:

예: Γνώμη για αγορά μπουζουκιού μέσω ίντερνετ και εκτίμηση - #2 από nikos_politis - Μουσικά όργανα - Ρεμπέτικο Φόρουμ

이상하게도, “최신” 목록에서 해당 주제를 클릭할 때만 이런 문제가 발생합니다. 다른 주제에서 링크로 연결하면 정상적으로 작동합니다.

완전한 링크:
https://rembetiko.gr/t/%CE%B3%CE%BD%CF%89%CE%BC%CE%B7-%CE%B3%CE%B9%CE%B1-%CE%B1%CE%B3%CE%BF%CF%81%CE%B1-%CE%BC%CF%80%CE%BF%CF%85%CE%B6%CE%BF%CF%85%CE%BA%CE%B9%CE%BF%CF%85-%CE%BC%CE%B5%CF%83%CF%89-%CE%B9%CE%BD%CF%84%CE%B5%CF%81%CE%BD%CE%B5%CF%84-%CE%BA%CE%B1%CE%B9-%CE%B5%CE%BA%C/38511/2

같은 문제인데, 그 슬러그가 255자를 초과합니다.

4개의 좋아요

조사하던 중 아예 로드가 안 되는 카테고리를 몇 개 발견했습니다.

다음과 같은 오류가 발생하고 있습니다:

URIError: URI malformed
    at decodeURIComponent (<anonymous>)
    at a (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:16:31208)
    at Array.map (<anonymous>)
    at o (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:16:31136)
    at P.recognize (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:5729)
    at t.applyToState (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:22054)
    at u.n.getTransitionByIntent (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:24304)
    at u.n.transitionByIntent (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:23609)
    at u.n.doTransition (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:25611)
    at u.n.transitionTo (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:30132)
TypeError: Cannot read property 'responseJSON' of undefined
    at n.error (https://rembetiko.gr/assets/application-5d69c42124908eb6b41549efae9db9b1df26741f3a45075c6bfd603bb5267a42.js:71:604)
    at n.C (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:8:17733)
    at u.c.triggerEvent (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:8:21275)
    at e.t.trigger (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:13392)
    at u.c.transitionDidError (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:8:21548)
    at https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:11836
    at f (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:18:1126)
    at T (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:18:2503)
    at E (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:18:2402)
    at y (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:18:1896)

이 두 가지가 관련이 있을까요?

(여기에서 직접 확인해 볼 수 있습니다: https://rembetiko.gr/c/άλλα-θέματα/μικρές-αγγελίες)

2개의 좋아요

@Arta_S와 @chrispanag에게 두 가지 수정 사항을 추가로 전달합니다. 하나는 긴 제목에 대한 것이고, 다른 하나는 하위 범주에 대한 것입니다.

그리고

8개의 좋아요

업그레이드 후에도 여전히 이 오류가 발생합니다 :confused:

2개의 좋아요

이 경우 슬러그를 다시 생성(rebake)해야 합니다. 다음을 시도해 보세요:

cd /var/discourse
./launcher enter app
rails c
Topic.update_all(slug: nil)
exit
exit
exit
6개의 좋아요

마지막 업데이트로부터 이틀 전부터 두 가지 문제가 발생했습니다:

1: 특정 주제에서 400 Bad Request URL 오류
2: 특정 주제에서 타임라인이 사라짐

호스팅 중인 Discourse는 'standard-plan’입니다.

도와주실 수 있을까요?

영어 실력이 부족해서 죄송합니다.

2개의 좋아요