- ステータス
- 解決済み
- 解決されたバージョン
- 3.3.8
問題の概要
スラッグ、およびそれに伴いURLに非ASCII文字が含まれる投稿やページにアクセスすると、継続的なリダイレクトが発生します。
これは、そのような文字の処理方法が原因で発生します。URLとして使用できるように、適切に変換およびエスケープする必要があるためです。
この処理を行うために、urlencode関数とurldecode関数が使用されます。
このトピックの詳細については、以下の2つのリンクを参照してください。
- urlencodeを使用する理由 (Stack Overflow)
- Uniform Resource Identifiers (URI) (Internet Engineering Task Force)
回避策
- wp-content/sitepress-multilingual-cms/classes/query-filtering/class-wpml-query-parser.phpの421行目を開きます。
- is_permalink_part_of_request()内で、
return substr( trailingslashit( $request_uri ), 0, strlen( $permalink_path ) ) === $permalink_path;
を次のように置き換えます:
return substr( trailingslashit( urldecode( $request_uri ) ), 0, strlen( $permalink_path ) ) === $permalink_path;