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リダイレクトが遅くなるのではないかと心配していますが、すべて正常に機能しています。

何か提案はありますか?

まずは、文字が1つか2つだけの簡単な例から始めます。URLの先頭に/が必要かどうか、またはそれが重要かどうかは覚えていません(おそらく重要ではありませんが、最初に試すことでしょう)。

「いいね!」 1

実際、2つか3つのリンクでPermalink.createを試しましたが、// を付けたり付けなかったりしましたが、英語のリンクでは同じPermalink.createが機能するのに、リンクがアラビア語のスラッグを使用している場合は機能しません。

「いいね!」 1

では、古いサーバーと新しいサーバーではホスト名が異なるのですか? それはそのままにしておくのが良いでしょう。301 リダイレクトだけがそこへ向かうのであれば、古いサーバーで 301 リダイレクトが遅くても、それほど問題にはならないはずです。

チームの誰かが返信しない場合は、次にコアにデバッグを追加して、具体的に何を探しているのかを確認することができます。アラビア語はテストされておらず、RTL が何らかの形で影響している可能性があるため、バグである可能性も考えられます。(すべて憶測ですが。)もしかしたら、3 文字のスラッグを逆順で試してみますか?

ご返信ありがとうございます。@pfaffman

はい、古いサーバーはホスト名が異なり、12,000件の古いリンクを301リダイレクトするhtaccessファイルのみをホストしており、正常に機能しています。お伝えしたように、リダイレクト速度だけが心配です。

パーマリンクオプションをスキップすべきだと思います。

「いいね!」 1