Permalink.create가 아랍어 슬러그와 함께 작동하지 않음!

안녕하세요

이전에 사용하던 bbpress는 아랍 문자로만 구성된 슬러그를 사용하고 ID는 사용하지 않았습니다. 즉, 링크 형식이 /post-title이었습니다.

따라서 Permalink.create(url: '/Arabic-title', topic_id: 3708),를 사용하려고 하면 Permalink는 생성되지만 링크가 작동하지 않고, 해당 링크가 존재하지 않는다는 오류가 발생합니다.

문제는 인터넷 전반에 걸쳐 아랍어 슬러그를 사용하는 링크가 12,000개 이상이라는 점입니다. 이 모든 백링크를 잃고 싶지 않습니다.

현재 저는 구 서버에서 htaccess를 사용하여 301 리다이렉트(/Arabic-title TO newdiscourse/t/topic_id)를 설정하고 있습니다. 하지만 링크가 12,000개나 되다 보니 파일 크기가 2MB까지 커졌고, 이로 인해 301 리다이렉트가 느려질까 봐 걱정됩니다. 다만 현재까지는 모두 정상적으로 작동하고 있습니다.

혹시 조언이 있을까요?

제가 할 일은 문자 하나나 두 개만 있는 간단한 예제로 시작하는 것입니다. URL이 앞에 /로 시작해야 하는지, 아니면 그게 중요한지 기억이 나지 않습니다(아마 중요하지는 않을 것 같지만, 제가 가장 먼저 시도해 볼 부분입니다).

실제로 2~3개의 링크로 Permalink.create를 시도해 보았고, with를 사용하고 사용하지 않는 경우를 모두 시도해 보았지만, 영어 링크의 경우 Permalink.create가 작동하는 반면, 아랍어 슬러그를 사용하는 링크의 경우 작동하지 않습니다.

그럼 구 서버와 새 서버의 호스트 이름이 다른 건가요? 저는 그대로 두는 쪽을 추천합니다. 구 서버에서 301 리다이렉트가 느리더라도, 거기로 보내는 요청이 301뿐이므로 큰 문제는 아닐 겁니다.

팀에서 아무도 답변하지 않는다면, 다음으로 시도해 볼 수 있는 것은 코어에 디버깅을 추가하여 정확히 무엇을 찾고 있는지 확인하는 것입니다. 아랍어가 테스트되지 않았고 RTL(오른쪽에서 왼쪽으로 읽는 문자열)이 어떤 방식으로 영향을 미치고 있을 가능성이 있으므로 버그일 수도 있습니다. (이것은 모두 추측입니다.) 3글자 슬러그를 거꾸로 입력해 보는 건 어떨까요?

답변 정말 감사드립니다. @pfaffman

네, 기존 서버는 호스트 이름이 다르고, 12k개의 오래된 링크를 301 리다이렉트하는 htaccess 파일만 호스팅하며 잘 작동하고 있습니다. 말씀드린 것처럼 리다이렉트 속도 때문에 걱정입니다.

영구 링크(permalink) 옵션을 사용하지 않는 것이 좋다고 생각합니다.