2013-11-20 129 views
0

我有一個單頁網站,用SammyJS作爲js框架和PHP爲後端,所以當我到達搜索引擎優化點時,我讀了關於谷歌阿賈克斯爬蟲,所以我做了如下: 1.我將以下兩行添加到我的htacess文件中。單頁網站,搜索引擎優化和社交媒體分享按鈕

#RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$ 
#RewriteRule ^$ /seo/index/ [R=301,L] 

2.我創建一個新的控制器(SEO),其僅將顯示所需的數據(HTML)沒有任何CSS或JS來被索引。

所以如果url包含_escaped_fragment_,網絡服務器會將它重定向到seo控制器。 當我使用Facebook共享時,此解決方案工作正常,但不適用於gplus,鏈接和推文。 當我測試google-bot如何查看我的網站時,google-bot會看到301重定向頁面!

由此,我想要一些工作沒有重定向,這需要sammyJS工作沒有散列,我不能使它的作品。

我的問題是如何使薩米js作品沒有#!或#,考慮推送狀態不支持在所有瀏覽器。

任何想法傢伙關於這種情況。

感謝,

+0

不幸的是,我不相信你可以SammyJS不包括hashtag工作。 – rivarolle

回答

0

一些研究,我發現這種方式來處理搜索引擎和社交媒體與單頁的應用程序後,

由於我使用的後端Yii框架中,我得到了主要佈局文件查詢字符串的參數,所以如果url包含「_escaped_fragment_」,我將這個變量和它的值直接得到結果,而不包括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 
} 
?> 

,你也不必從htaccess文件重定向的任何。

感謝,