4

ここで説明する手法を使用して、オンザフライで動的に生成されるサイトマップを実装しました。

私のサイトはWebFormsアプリであるため、サイトマップURLはwww.mydomain.com/Sitemap.aspxになります。

これはうまく機能しており、検索エンジンのウェブマスターツールを使用してサイトマップへのURLを伝えることができます。ただし、小規模な検索エンジンでは、このファイルの場所がわからない場合があります。動的に生成されたサイトマップがwww.mydomain.com/sitemap.xmlにあるとよいでしょう。これはサイトマップの標準URLです。

私が今行っているのと同じサイトマップデータを生成する最も簡単な方法は何ですか?しかし、それをファイルsitemap.xmlとして表示します。ルーティングを使用してそれを行うことはできますか、それともカスタムHTTPハンドラーが必要ですか?

私はWebフォームを使用していますが、ASP.NET MVCを使用しているサイトもあるので、両方のプラットフォームでこれを行うための最良の手法を見つけることに非常に興味があります。

4

2 に答える 2

9

Webフォームの場合は、HttpModuleを使用できます。UrlRewriting.NETを確認してください。

MVCの場合、ルーティングを使用します。

routes.MapRoute("Sitemap", 
                "sitemap.xml",
                new { controller = "Home", action = "Sitemap" })
于 2012-04-21T19:37:36.177 に答える
2

Webフォームの場合、上記のようにweb.configを更新することもできます。プレーンなaspxまたはascxページを使用してから、書き換えで魔法をかけます:-)(私は.net 4.0を使用します)

例えば

<system.webServer>
<rewrite>
  <rules>
    <rule name="Main Sitemap" stopProcessing="true">
      <match url="^sitemap.xml"/>
      <action type="Rewrite" url="sitemap/sitemap.aspx" appendQueryString="false"/>
    </rule>
  </rules>
</rewrite>
</system.webServer>
于 2012-10-30T12:36:59.343 に答える