Facebook 单页网站、SEO和社交媒体共享按钮

Facebook 单页网站、SEO和社交媒体共享按钮,facebook,.htaccess,seo,single-page-application,sammy.js,Facebook,.htaccess,Seo,Single Page Application,Sammy.js,我有一个单页网站,以SammyJS作为js框架,以PHP作为后端,因此当我达到SEO点时,我读到了关于google Ajax爬虫的内容,因此我做了以下工作: 1.我将以下两行添加到我的htacess文件中 #RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$ #RewriteRule ^$ /seo/index/ [R=301,L] 二,。我创建了一个新的控制器(seo),它只显示需要索引的数据(HTML),而不显示任何CSS或js 因

我有一个单页网站,以SammyJS作为js框架,以PHP作为后端,因此当我达到SEO点时,我读到了关于google Ajax爬虫的内容,因此我做了以下工作: 1.我将以下两行添加到我的htacess文件中

#RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$
#RewriteRule ^$ /seo/index/ [R=301,L] 
二,。我创建了一个新的控制器(seo),它只显示需要索引的数据(HTML),而不显示任何CSS或js

因此,如果url包含_转义_片段u,web服务器会将其重定向到seo控制器。 当我使用facebook共享时,这个解决方案可以很好地工作,但在gplus、linked in和twitter之间不起作用。 另外,当我测试GoogleBot如何查看我的站点时,GoogleBot会看到301重定向页面

因此,我希望一些东西在没有重定向的情况下工作,这要求sammyJS在没有哈希的情况下工作,我无法让它工作

我的问题是如何让sammy js在没有#的情况下工作!或者,在所有浏览器中考虑不支持推送状态。

你们对这个案子有什么想法吗


谢谢,

经过一些研究,我发现这种方法可以通过单页应用程序处理seo和社交媒体

由于我使用Yii框架作为后端,在主布局文件中,我获得了查询字符串的参数,因此如果url包含“_escape_fragment_u”,我将使用此变量及其值,直接获得结果,而不包括sammyJS文件

因此,在布局文件的顶部:

<?php
if(isset($_GET['_escaped_fragment_'])){
        Return the data you want using PHP only don't relay on js,
        from here you need to provide a full html page with all data.
}else{
       include your sammy js routers file.. normal case 
}
?>

不幸的是,我不相信没有标签就可以让SammyJS正常工作。