URLのカスタマイズ Part3
まず、FireFoxで日本語タイトル含むurlをアドレスバーにコピペした時点で、日本語部分はurlencodeされちゃいますし(ページは正常に開きますけど。ついでに、IEではアドレスバーの中、日本語のまま。)
それと、日本語含むURLでitemページにアクセスしている状態でコメントを投稿すると、投稿は成功するんだけど、投稿後にリダイレクトするurlがダメダメ。
※これは、そもそもglobalfunctions.phpのfunction redirect($url)で
preg_replace('|[^a-z0-9-~+_.?#=&;,/:@%]|i', '', $url)しているから。
で、この機能を敢えて切って、色々やってみたんですが。
うーーん。難しいな。
PostAddCommentでmb_convert_encoding+ParseURLでもう一回mb_convert_encodingするとか....。
リダイレクト後のurlは、投稿前のURLと同じになりましたが、『そんなアイテムはありません』と言われます。めげずにリロードするとコメント反映されたページが開きます。
$this->_findItemのタイミングが間に合っていないだけ?それともParseURLの処理順位が悪いんだろうか?
ま、とにかく日本語タイトルをそのままURLに含める、という方向性自体に疑問を感じるのでこれ以上悩むの、やめます。
一番簡単なのは、wikiみたいに、日本語を『%E6%95%A2%E3%81%88%E3%81%A6%E8%A1%A8%E7%A4%BA』みたいなurlにする事。
次に用意できるのは、NP_FancierURL0.4と同じく、アイテムごとに任意の1バイトonlyのurlタイトルを定義させること。でもって未定義の場合は上みたいなパーセント文字ってな。
っつーか、MagicalURLをプラグインに、って思っていたのと全然違う話だし。
そもそも今のテスト環境、RewriteEngine Onできないしー:P
あっ。ビックリ!そーか。そーだ。
RewriteEngine Onできなくても、「.html」付きのurlが実現できますよー。
Posted 02/02/06 by nakahara21 | Filed under: Consideration
Comments
Add Comment