カテゴリー
ウェブサイト制作

スラッグに日本語を入れると Not Found になる

カテゴリーページやタグページのアドレスに日本語 (ダブルバイト文字) のスラッグを入れると、Not Found が表示されてしまうことがあります。

原因は、スラッグは URL エンコードされた時、アルファベットが小文字に変換されるため、大文字のアルファベットを使ったリンクは表示されません。

そこで、WordPress 本体の class-wp.php の次の部分を大文字/小文字を区別しないように、i オプションを追加します。

if ( preg_match("#^$match#i", $request_match, $matches) || preg_match("#^$match#i", urldecode($request_match), $matches) ) {

if ( $wp_rewrite->use_verbose_page_rules && preg_match( '/pagename=\$matches\[([0-9]+)\]/i', $query, $varmatch ) ) {

WordPress 本体のバージョンアップの度に変更する必要があるので、スラッグにはダブルバイト文字 (日本語) を使わない方が無難です。

「スラッグに日本語を入れると Not Found になる」への1件の返信

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です