通過自定義路由實現百度SiteMap文件

1、首先添加一個自定義頁面,具體參考相關文檔,具體配置可以參考:

  <route urlConstraint="^buildSiteMap.cshtml$"  viewPath="siteMap/siteMap.cshtml" httpcacheSolutionId="0" title=""></route>

以上配置僅供參考,大家可以根據自己需要來寫。


2、在模板目錄的Views目錄下新一個siteMap/siteMap.cshtml文件,文件內容如下:

@{
    Layout = null;
    string table = Request.QueryString["table"];
    string domain = "http://localhost:800/buildSiteMap.cshtml";//localhost:800改為您的網站域名,必須是外網域名
    
    //生成欄目siteMap
    if (table=="column")
    {
        <?xml version="1.0" encoding="utf-8" ?>
          <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/">
            @foreach (var item in Html.GetColumnList().Where(c => c.Show == 1 && c.ColumnType <= 2))
            {
            string url = Html.ColumnUrl((int)(item.Id));
                <url>
                    <mobile:mobile type="pc,mobile" />
                    <loc>@url</loc>
                    <lastmod>@DateTime.Now.ToString("yyyy-MM-dd")</lastmod>
                    <changefreq>weekly</changefreq>
                    <priority>0.8</priority>
                </url>
            }
        </urlset>
        }
    //生成信息表的siteMap
    else if (!string.IsNullOrEmpty(table))
    {
            <?xml version="1.0" encoding="utf-8" ?>
                    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
                        @foreach (var item in Html.InfoDataList(new { Table = table, ShowNumber = 1500 }))
                        {
                            <url>
                                <mobile:mobile type="pc,mobile" />
                                <loc>http://www.jnvsehore.com/jianzhan/@(item.Id).cshtml</loc>
                                <lastmod>@item.Thedate.ToString("yyyy-MM-dd")</lastmod>
                                <changefreq>weekly</changefreq>
                                <priority>0.5</priority>
                            </url>
                        }
    }
                    </urlset>
    }
    else
    {
        HttpRequestHelper httpRequestHelper = new HttpRequestHelper();
        //生成欄目siteMap文件
        IOHelper.CreateFile("/columnSiteMap.xml", httpRequestHelper.Get(domain+"?table=column").Trim(), true);
        //生成product表的siteMap文件,必須保證news信息表實際存在
        IOHelper.CreateFile("/productSiteMap.xml", httpRequestHelper.Get(domain+"?table=product").Trim(), true);
        //生成news表的siteMap文件,必須保證news信息表實際存在
        IOHelper.CreateFile("/newsSiteMap.xml", httpRequestHelper.Get(domain+"?table=news").Trim(), true);
        //更多信息表可以自行添加IOHelper.CreateFile方法,table參數改為信息表名即可
        Response.Write("sitemap文件生成成功!");
    }

}

3、最后直接在瀏覽器中輸入:您的域名/buildSiteMap.cshtml 就會自動生成對應siteMap.xml文件,生成后在百度站長工具提交即可。

猛禽小队完整版-猛禽小队免费-猛禽小队在线观看