by WebSurfer
2010年6月8日 22:25
URL に使用できる ASCII 文字のみを使って、ポストのタイトルの別名を作って、それを Slug に設定してやれば、そのとおり URL に表示されることを知りました。
例えば、ポストのタイトルが "湘南" だとして、最初に投稿する際 Slug には何も設定しないと、BlogEngine が自動的に "湘南" を "e6b998e58d97" に変換して Slug に設定します。
その結果、ブラウザのアドレスバーなどに表示される URL が、以下のような訳のわからない文字になります。
.../post/2010/05/16/e6b998e58d97.aspx
これは、"湘南" のままでは URL の文字として使用できないので、UrlEncode して、さらに '%' を取り除いた文字列に変換しているからです。(何故 '%' まで取り除いているかは不明)
上記の例は、まだ 2 文字だから我慢出来る範囲かもしれませんが、日本語のタイトルが長くなると、延々と訳のわからない文字列が続いて(全角 1 文字が半角 6 文字に変換されますので)、見栄えが非常によろしくないです。
BlogEngine の自動変換に任せず、自分で Slug に "Shonan" と設定すれば、そのポストの URL は以下のようになります。
.../post/2010/05/16/Shonan.aspx
こうすれば、URL から内容が類推できるようになりますし、それに何といっても見栄え(これが大事(笑))が大幅に改善されるのがいいです。
以前のポスト、BlogEngine の修正 で、「検索」で検索結果の URL 情報が一行に収まらないため、その部分のコードをコメントアウトして表示しないようにしましたが、これによって問題がなくなったので復活させました。