在网站上面按照教程新加一个网站地图,具体操作如下,请各位老师帮忙查看并指正,感激不尽!
1、在companydefault目录下,新建MyRoute.config文件,文件内容为:
<route urlConstraint="^buildSiteMap.cshtml$" viewPath="siteMap/siteMap.cshtml" httpcacheSolutionId="0" title=""></route>
2、在companydefault/views目录下新建siteMap文件夹,在该文件夹下建siteMap.cshtml,文件内容如下:
@{
Layout = null;
string table = Request.QueryString["table"];
string domain = "http://www.mjsl.com/buildSiteMap.cshtml";//l改为您的网站域名,必须是外网域名
//生成栏目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>
<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 }))
{
string url = Html.InfoDataUrl((int)item.ColumnId, (int)item.Id);
<url>
<loc>@url</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文件生成成功!");
}
}
在浏览器输入
http://www.mjsl.com/buildSiteMap.cshtml时,提示找不到页面,转向中。。。。请问是哪里出了问题,麻烦大神帮忙指正。