ページ

2005年2月28日月曜日

.Text の MainFeed.aspx 修正

.Text では URLのホスト名に www を使っていると勝手に省略されてしまったりしてあまりよろしくありません。たとえば、http://www.example.com/blog/ だと RSS などに含まれる URL が http://example.com/blog/ になってしまいます。(http://blogs.example.com/ のように www 以外ならば特に問題ないはずです)
で、このように www を使う場合は、web.config に


    <UseWWW>true</UseWWW>


と追加すればほとんど問題なくなります。(追加する場所は <BlogConfigurationSettings> の下ならどこでも OK です。<ServerTimeZone> の下あたりに書いときゃいいんじゃないでしょうか)


しかし、マルチユーザ版の 「RSS (すべてのフィード)」 で使用している MainFeed.aspx には UseWWW の考慮が入っていません。どうやらソースを直してビルドしなおすしか手がなさそうです。修正自体は簡単で、Code\DottextWeb\MainFeed.aspx.cs の 122行目くらいに


    string baseUrl = "http://{0}" + appPath + "{1}/";
if (Config.Settings.UseWWW)
{
baseUrl = "http://www.{0}" + appPath + "{1}/";
}


と青字の部分を書き足せば OK です。


また、Code\DottextWeb\OPML.aspx.cs の 133行目くらいにもほとんど同様なコードがあります。こちらも、


    string baseUrl = "http://{0}" + appPath + "{1}";
if (Config.Settings.UseWWW)
{
baseUrl = "http://www.{0}" + appPath + "{1}";
}


と青字の部分を書き足せば OK です。(MainFeed.aspx.cs とは微妙に違うので注意)


上記の修正をした DLL を http://www.divakk.co.jp/aoyagi/dotText_bin.ZIP において置きました(今回の修正だけではなく、今までの修正すべてが反映されています)。

0 件のコメント:

コメントを投稿