草庐IT

container-escape-check

全部标签

ajax - 我如何删除 ?_escaped_fragment_= 使用 .htaccess

Google发现我允许最终用户使用ajax加载来浏览我的内容,并且将我的页面作为用户客户端加载,而不是在新页面加载时请求它们。因此,它不是尝试索引www.mysite.com/page,而是请求www.mysite.com/?_escaped_fragment_=/page这根本不是我想要的。我的快照在与ajax加载内容相同的URL上提供。该网站没有使用查询,它不支持它们,我不想建立这种支持。这意味着所有页面在谷歌上看起来都已损坏,这当然很不幸!目前,所有页面请求都使用.htaccess将请求重定向到服务器端,将请求发送到index.php文件,该文件在服务于客户端之前在服务器上编译h

angularjs - nginx escape_fragment 重写 Angular SPA 的静态内容

我有一个有Angular的SPA并生成了静态html页面,以便网络爬虫能够找到并抓取该网站。我将以下代码片段添加到我的nginx站点配置中。if($args~"_escaped_fragment_=/?(.+)"){set$path$1;rewrite^/snapshots/$pathlast;}虽然这对像/abc这样像?_escaped_fragment_=abc这样被抓取的页面的所有子文件夹都有效,但在根url/在?_escaped_fragment_=为空的地方抓取。在这种情况下,nginx会回退到/并提供.js应用程序而不是静态内容。知道正确的重写语句是什么样子的吗?或者我到底

seo - 如何测试 _escaped_fragment 解决方案

我们刚刚在我们的测试环境中实现了_escaped_fragment解决方案以及headless浏览器(phantom.js),以使我们的网站可被google抓取。问题是在将此更改推送到我们的生产环境之前,我找不到任何解决方案来测试它。网站管理员工具中的fetchasgoogle链接不起作用。有没有其他方法可以让我们快速测试这一点,而不是等待谷歌抓取工具抓取我们的网站? 最佳答案 您可以编写一个与页面URL混在一起的小书签。它会将#!替换为?_escaped_fragment=并且URL会对哈希bang参数进行编码。然后您至少可以手动

seo - 错误 : Page contains property "query-input" which is not part of the schema

我从GoogleRichSnippetstestingtool得到这个错误:Error:Pagecontainsproperty"query-input"whichisnotpartoftheschema.但是我哪里弄错了?HTML:PressEntertosearchJSON-LD:{"@context":"http://schema.org","@type":"WebSite","url":"https://domain.com/","potentialAction":{"@type":"SearchAction","target":"http://domain.com/searc

angularjs - 在 AppEngine 的根路径上处理 _escaped_fragment_

我正在使用GoogleAppEngine托管一个带有Python网络服务的AngularJS应用程序。根路径/设置为返回index.html,/api/*请求转到PythonController以进行Web服务调用,任何其他路径转到静态资源(图像、View等)我正在尝试使用hashbang/_escaped_fragment_技术来为搜索引擎索引设置应用程序。据我了解,http://www.whatever.com/#!/news的网址将被搜索引擎转换为http://www.whatever.com/?_escaped_fragment_=/news编写一些代码来处理该请求不是问题,但

javascript - 谷歌会索引 hashbang/escaped_fragment 内容的正确 URL

我最近阅读了Google的MakingAJAXApplicationsCrawlable因为我想知道如何为SEO正确准备使用hashbang导航的动态网站。我现在明白,对于mysite.com/#!/foobar,我应该在mysite.com/?_escaped_fragment_=foobar提供等效的html快照。我只想知道google是否正确地将我的页面索引为http://example.com/#!/foobar或者它是否使用此escaped_fragment网址?我假设(但想确定)它将正确使用我的hashbangurl作为搜索结果,但索引内容取自escaped_fragmen

如何在 Angular 中使用 ng-container 元素

简介ng-container是Angular2+中可用的一个元素,可以作为结构指令的宿主。在本文中,您将探讨可以使用ng-container解决的场景。先决条件如果您想跟着本文学习,您需要:熟悉DOM的结构。要了解更多,请查看教程系列《理解DOM》。对Angular模板和结构指令有一定的了解可能会有所帮助。使用ng-container避免冗余元素在Angular中,您不能在一个元素上使用多个模板绑定。以下结合了*ngIf和*ngFor结构指令的示例将无法编译通过:[secondary_label无效示例]div*ngIf="todos"*ngFor="lettodooftodos">{{tod

javascript - Google SEO 和 _escaped_fragment_ 根据 Google 的抓取变化

Google刚刚完成(我现在看到页面刷新在我面前)JavaScript索引。这很酷,因为我不再需要我所有的工具了。Google现在将执行JavaScript-SEOJavaScript问题已解决。到目前为止-太棒了。但是,我有一堆页面是为旧的!#片段方案创建的。到目前为止,这些页面已被编入索引,我打算继续为旧的(IE7-)浏览器提供服务。较新的SPA页面包含更多图形信息和更少文本信息。有什么方法可以选择GoogleBot是使用旧的_escaped_fragment_=还是使用JavaScript的新方法来索引url?根据这一变化,我是否需要对现有应用进行任何调整?

c++ - C/C++ : size of a typedef struct containing an int and enum == sizeof(int)?

我在我的Ubuntu(i686)上使用gcc版本4.3.3。我写了一个精简的测试程序来描述我缺乏理解和我的问题。该程序应告诉我我实现的结构的大小。所以我有一个typedefstruct用于Message和一个小的main来玩:#includetypedefstruct{intsize;enum{token=0x123456};}Message;intmain(intargc,char*argv[]){Messagem;m.size=30;printf("sizeof(int):%d\n",sizeof(int));printf("sizeof(0x123456):%d\n",sizeo

c++ - 从源代码编译后未安装 boost ptr_container 库

我已经将boost库从以前的1.54(svn源)更新到1.57(git源)。尽管我使用了相同的./b2参数,但目标目录不包含ptr_container库。具有克隆存储库的目录在此路径上正确包含ptr_container库:boost_git/libs/ptr_container我正在使用以下命令构建它:./b2--install--prefix=$SHL_PATH/boost-sNO_BZIP2=1-sNO_ZLIBruntime-link=sharedlink=shared-j2install但没有成功。编辑:似乎只有从git构建时才会出现问题。当我从boost站点下载zip包时,目