5.6.2.1 のプリティーURLについて

2014年4月19日 at 16:18

5.6.2.1 の管理画面からプリティーURLを設定したときに、自動で設定される .htaccess を使用すると、ページのURLに日本語を含む場合、404エラーが出ます。

これは、Rewrite Rule が下記のようになっているからではないかと思います。
RewriteRule . index.php [L]

下記のように修正すると、日本語を含むURLでも問題なくリダイレクトされます。
RewriteRule ^(.*)$ index.php/$1 [L]

過去のトピックを読むと、正しく動作するほうの記述になっていたようですが、変わったのでしょうか?

タグ:

Re: 5.6.2.1 のプリティーURLについて

2014年4月19日 at 17:16
リライトルールが変更されたコミット
http://github.com/concrete5japan/concrete5/commit/ae24f62dfdfb9e0d2e56c6ed70dd499b6f7a6a14

関係すると思われるフォーラムのスレッド
http://www.concrete5.org/community/forums/customizing_c5/pretty_urls_mod-rewrite_problems/

もともと、旧ルールに問題があったため修正されたと言うことのようですね。URLにマルチバイトを許容するのは日本語版独自の機能ですが、サーバーによっては今のルールでも日本語URLが動いていますし、確かに日本語URLが動かないサーバーもあります。htaccessのルールを調整すれば動くと言うことであれば、日本語コミュニティ内で情報をまとめて共有したいですね。
 

Re: 5.6.2.1 のプリティーURLについて

2014年4月19日 at 17:26
今回使用しているのは、NTTコミュニケーションズの共用レンタルサーバー「メール&ウェブ ビジネス」です。
なお、ブラウザは Google Chrome と Internet Explorer 11 で確認しましたが、同じ挙動でした。
 

Re: 5.6.2.1 のプリティーURLについて

2014年4月20日 at 3:26
情報提供ありがとうございます smiling