我正在尝试为我的MOSS发布网站创建一个站点地图,我有两种方法,但似乎两者都没有.
我的第一种方法是使用PortalSiteMapProvider,它已经创建并且很好地缓存了......
PublishingWeb rootWeb = PublishingWeb.GetPublishingWeb(SPContext.Current.Site.RootWeb);
//Get the URL of the default page in the web
string defaultPageUrl = rootWeb.DefaultPage.ServerRelativeUrl;
PortalListItemSiteMapNode webNode = (PortalListItemSiteMapNode)PortalSiteMapProvider.CurrentNavSiteMapProviderNoEncode.FindSiteMapNode(defaultPageUrl);
HttpContext.Current.Response.Output.WriteLine("Top Level: " + webNode.Title.ToString() + "<br />");
//iterate through each one of the pages and subsites
foreach (SiteMapNode smnTopLevelItem in webNode.ParentNode.ChildNodes)
{
HttpContext.Current.Response.Output.WriteLine(smnTopLevelItem.Title.ToString() + "<br />");
//if the current sitemap has children, create a submenu for it
if (smnTopLevelItem.HasChildNodes)
{
foreach (SiteMapNode smnChildItem in smnTopLevelItem.ChildNodes)
{
HttpContext.Current.Response.Output.WriteLine(smnChildItem.Title.ToString() + "<br />");
}
}
}
HttpContext.Current.Response.End();
Run Code Online (Sandbox Code Playgroud)
但这似乎返回了网站集中的所有内容(例如列表,surverys).我只想展示Sharepoint网站. …
[ 注意明智:跳到最后编辑 ]
我有一个非常简单的txt站点地图(名为sitemap.txt),如下所示:
http://myDomain.com
http://myDomain.com/about.html
http://myDomain.com/faq.html
http://myDomain.com/careers.html
Run Code Online (Sandbox Code Playgroud)
当我在网站管理员工具上加载它时,我得到:
站点地图是HTML - 您的站点地图似乎是一个HTML页面.请改用支持的站点地图格式
我尝试了一些替代方案(例如有或没有www),但没有运气.
任何人都有任何线索?
任何帮助赞赏!
编辑:
我尝试使用xml站点地图并获得相同的错误,因此看起来服务器正在以HTML格式提供服务(正如ceejayoz正确建议的那样).现在的问题是...... 如何将appspot服务器作为纯文本提供给服务器文本?
编辑:
好的 - 我厌倦了并实现了一个servlet来为我的站点地图(我现在正在尝试使用XML和TXT)明确地作为text/plain.如果我手动调用servlet但仍然获得Sitemap是HTML,一切正常.我不知道在哪里敲我的脑袋!
编辑: 我试图用firefox插件验证内容类型 - 一切似乎都按预期出现(我正在放置实际的URL,以便人们可以看看):
http://wokheisandbox.appspot.com/sitemaps/sitemap.txt - > Content-type:text/plain http://wokheisandbox.appspot.com/sitemaps/sitemap.xml - > Content-type:application/xml
使用我的servlet(显式设置text/plain): http://wokheisandbox.appspot.com/wokhei/serveSitemap?fileType = TXT - > Content-type:text/plain http://wokheisandbox.appspot.com/wokhei/ serveSitemap?fileType = XML - > Content-type:text/plain
我从网站管理员工具获得的只是 - > Sitemap是HTML.
编辑:
我想我找到了原因- >我在谷歌网站管理员工具注册我的网站http://mydomain.com但应用程序在托管在Appspot上http://myapp.appspot.com被映射到mydomain.com .如果我注册http://myapp.appspot.com一切正常(站点地图已验证).
这是个好消息,但它并不理想,因为我希望mydomain.com被编入索引...任何关于如何克服的想法?
我正在使用Python中的简单爬虫.目的是创建一个sitemap.xml.(你可以在这里找到非常版的alpha版本:http://code.google.com/p/sitemappy/)我注意到如果我使用包含非HTML实体(例如&)的URL生成xml,则xml不会验证,Google网站站长工具不接受此操作.有没有快速的方法来编码URL的查询字符串部分?
谢谢!
马特奥
我不认为这实际上是可行的,但有没有干净整洁的方式来获取使用Django站点地图的分页内容?
例如,我的登录页面上有新闻,而且新闻帖子没有永久链接,使用它们的唯一方法是一次性分页5.
另一部分获得各种类型和其他标准的项目列表.
如果不可能,处理它的最佳方法是什么?不为这些网站地图提供网址?要获得分页页面的第一页?
我最好的想法是,我应该将登录页面作为网址,而不是打扰列表页面,因为它们并不是真正重要的搜索引擎.但如果这是最好的行动方案,我怎样才能从站点地图框架中提供到目标网页的链接?
欢迎任何建议.
我有一个包含许多网址的站点地图.就像是:
<url>
<loc>
http://site.com/
</loc>
<priority>
0.50
</priority>
<changefreq>
daily
</changefreq>
<lastmod>
2011-07-27T06:58:53+00:00
</lastmod>
</url>
<url>
<loc>
http://site.com/link
Run Code Online (Sandbox Code Playgroud)
等等....
我需要获取站点地图中的所有链接,没有别的.
我试过了:
$links = file('sitemap.xml', FILE_IGNORE_NEW_LINES);
foreach($links as $link) {
echo $link;
}
Run Code Online (Sandbox Code Playgroud)
现在回声所有链接并离开所有<loc>, <priority>等等,但它仍然包括更改frequency, lastmod等等....
所以输出看起来像这样:
http://site.com/ 11 0.50 12 daily 13 2011-07-27T06:58:53+00:00 14 15 16 http://site.com/page.html 17 0.40 18 daily 19 2011-07-
Run Code Online (Sandbox Code Playgroud)
等等....
我需要获取链接并将其放入数组中.有任何想法吗?
谢谢.
编辑:
这是我正在使用的代码:
$urls = array();
$xml='sitemap.xml';
$DomDocument = new DOMDocument();
$DomDocument->preserveWhiteSpace = false;
$DomDocument->loadXML("$xml"); // $DOMDocument->load('filename.xml');
$DomNodeList = $DomDocument->getElementsByTagName('from');
foreach($DomNodeList …Run Code Online (Sandbox Code Playgroud) 我有我的站点地图的用户控件,其中包含以下ascx:
<asp:SiteMapPath id="SiteMapPath1"runat="server" RenderCurrentNodeAsLink="true" />
Run Code Online (Sandbox Code Playgroud)
在我的网站的每个页面上调用此站点地图控件.
并且用户控制代码背后:
private void Page_Load(object sender, EventArgs e)
{
SiteMap.SiteMapResolve += new SiteMapResolveEventHandler(this.ExpandForumPaths);
}
private SiteMapNode ExpandForumPaths(Object sender, SiteMapResolveEventArgs e)
{
SiteMapNode currentNode = SiteMap.CurrentNode.Clone(true);
SiteMapNode tempNode = currentNode;
if (0 != postID)
{
tempNode.Url = tempNode.Url + "?PostID=" + postID.ToString();
}
if ((null != (tempNode = tempNode.ParentNode)) &&
(0 != forumID))
{
tempNode.Url = tempNode.Url + "?ForumID=" + forumID.ToString();
}
if ((null != (tempNode = tempNode.ParentNode)) &&
(0 != forumGroupID))
{
tempNode.Url = tempNode.Url …Run Code Online (Sandbox Code Playgroud) 我正在为电子商务网站创建一个mvc 4 c#网络应用程序,该网站既有产品,也有传统页面.
该网站具有全球和本地导航以及面包屑.
为了帮助管理导航,我正在考虑使用可以填充并用于驱动导航和面包屑的站点地图提供程序.
有没有简单的方法可以做到这一点,使用站点地图,自定义填充来管理站点的导航和面包.可以通过URL实现对用户在站点上的位置的了解.其他解决方案的任何例子都是如何实现的?
它到目前为止我只是向谷歌提交站点地图
RestTemplate restTemplate = new RestTemplate();
HttpEntity<?> responseEntity = restTemplate.getForEntity("http://www.google.com/webmasters/tools/ping?sitemap={url}", String.class,"http://mySite.com/sitemap.txt);
Run Code Online (Sandbox Code Playgroud)
如何检查返回的服务器HTTP状态?
我是 Django 的新手,我正在尝试添加一个基本的 sitemap.xml。我只有静态页面。如何添加一个简单的 sitemap.xml 以便我可以从http://mydomain.com/sitemap.xml访问它
urls.py
pages
--- templates
---- pages
-- about.html
-- contact.html
-- etc...
--- views.py
Run Code Online (Sandbox Code Playgroud)
在我的 urls.py 文件中:
from django.conf.urls import patterns, include, url
from django.views.generic.base import TemplateView
from [myfolder].pages.views
from django.contrib import admin
from django.views.generic import RedirectView
urlpatterns = patterns('',
url(r'^$', TemplateView.as_view(template_name='pages/home.html'), name='home'),
url(r'^about/$', TemplateView.as_view(template_name='about.html')),
url(r'^sitemap\.xml/$', TemplateView.as_view(template_name='sitemap.xml')),????
)
Run Code Online (Sandbox Code Playgroud)
如何根据模板/页面中的页面生成站点地图?
我有一个XML Sitemap,在浏览器中访问时需要正确呈现。
请参见下面的代码。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<urlset
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd
http://www.w3.org/1999/xhtml http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd"
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
>
<url>
<loc>https://www.brideonline.ru/_____PassioanteLady.html</loc>
<xhtml:link rel="alternate" hreflang="ru-us" href="https://www.brideonline.ru/profile.php?Language=Russian&ID=_____PassioanteLady&Language1=1"/>
<changefreq>monthly</changefreq>
<priority>0.1</priority>
</url>
<url>
<loc>https://www.brideonline.ru/___Alisa___.html</loc>
<xhtml:link rel="alternate" hreflang="ru-us" href="https://www.brideonline.ru/profile.php?Language=Russian&ID=___Alisa___&Language1=1"/>
<changefreq>monthly</changefreq>
<priority>0.1</priority>
</url>
</urlset>
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试在浏览器上访问它时,它仅显示为纯文本。
非常感谢任何帮助/解释为何将其呈现为纯文本。
谢谢。
sitemap ×10
xml ×4
django ×2
python ×2
asp.net ×1
asp.net-4.0 ×1
asp.net-mvc ×1
breadcrumbs ×1
c# ×1
c#-4.0 ×1
http ×1
moss ×1
navigation ×1
php ×1
rest ×1
sharepoint ×1
spring ×1
text ×1
urlencode ×1