ポストスラッグが日本語の場合、ある程度の長さを超えるとブラウザがそのページの存在を認識できなくなりますが、この長さの限界というのはどのくらいでしょうか?
ポストスラッグが日本語の場合、ある程度の長さを超えるとブラウザがそのページの存在を認識できなくなりますが、この長さの限界というのはどのくらいでしょうか?
データベース的には、post_name フィールドの定義が VARCHAR(200) となっています。日本語の場合、UTF-8 文字列 (1文字3バイト) を URL エンコード (1バイトが3ケタ) したものになるため、200 ÷ 9 = 22.222... で22文字が限界です。したがって、「日本語で22文字を越える投稿スラッグは付けられない」ことになります。
しかし、これはデータベースに INSERT するときの制約のため、「ブラウザがそのページの存在を認識できなくなる」制限と一致するかはよく分かりません。
# そもそも「ある程度の長さを超えるとブラウザがそのページの存在を認識できなくなります」という現象が、具体的にどういう状況なのかイメージできません……。
なるほど22文字が限界なのですね。
現象としては単にブランクページとなってしまうということです。
現象としては単にブランクページとなってしまうということです。
なるほど、これは URL の解析部分で PHP エラーが起きている可能性がありますね。「白紙ページになる」というのは、基本的には制限というよりはバグに近いです (制限の場合は 404 エラーなどになるべきなので)。
こちらでも調査してみて、不具合箇所が特定できたら trac で報告してみましょう。
ログイン しなければ投稿できません。