【发布时间】:2015-03-03 15:45:25
【问题描述】:
我有一个启用了 html5 模式的 Angular 网站,因此我可以拥有漂亮的网址。我需要为 googlebot 配置网站。到目前为止我所做的就是把它放在元标记中:
<meta name="fragment" content="!">
我的假设是通过放置那个元标记,我通知 googlebot 它是一个 ajax 站点,它应该在域名和 url 其余部分之间的 url 中附加 _escaped_fragment_。例如,如果它试图爬取http://thehaileselassie.com/Italian_Occupation,它会将其转换为http:// thehaileselassie.com/?_escaped_fragment_=Italian_Occupation。但我不认为这是正在发生的事情。我相信它会将其附加到末尾,如下所示:http:// thehaileselassie.com/Italian_Occupation?_escaped_fragment_=。我不太确定自己做错了什么。
额外信息
我在 RouteConfig 中有这个,所以所有服务器调用都发送到 HomeController:
routes.MapRoute(
name: "Default",
url: "{*url}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
这是控制器的内容:
public ActionResult Index()
{
string fragment = Request.QueryString["_escaped_fragment_"];
if (fragment != null)
{
if (String.IsNullOrWhiteSpace(fragment))
{
string url = "/templates/homeView.html";
return File(Server.MapPath(url), "text/html");
}
else
{
string url = "/templates/" + fragment + ".html";
return File(Server.MapPath(url), "text/html");
}
}
return View();
}
【问题讨论】:
标签: javascript c# angularjs googlebot