2013-10-02 80 views
1

切換到https://後,我們所有的文章都失去了他們的Facebook「贊」數。所以我想禁用https只是爲我們網站的內容區域,這是在/content.php(文章的形式是content.php?212-My-Article)從HTTP切換到HTTPS,失去了所有Facebook「喜歡」

我目前的.htaccess:

RewriteEngine on 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

什麼我需要補充,以重定向所有content.php *流量HTTP(非安全),即使他們輸入「https」開頭

謝謝!

+1

如果有人知道一個解決方案,可以讓我使用HTTPS並保留喜歡,這當然是首選的方法! –

回答

0

您可以使用此代碼:

RewriteEngine on 

# uri is not /content.php 
RewriteCond %{REQUEST_URI} !^/content\.php$ [NC] 
# https is off 
RewriteCond %{HTTPS} off 
# redirec to https site 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
+0

謝謝!不幸的是,如果用戶被鏈接到content.php,它仍會加載https。 –

0

我找到了一種方法來解決這個問題,未做content.php是不安全的。 Facebook「Like」HTML代碼如下所示:

<fb:like href="https://www.mysite.com/{vb:raw relpath}" font="tahoma" layout="standard" show_faces="false" width="260" action="like" colorscheme="light"></fb:like> 

我使用vBulletin。我把它改爲http,現在一切都很好!

0

您需要對第一條規則進行更改才能排除content.php。您只需爲content.php添加一條規則,該規則與您的其他規則完全相反。如果您的規則執行了您希望他們將其轉換爲永久重定向的操作,則可以添加[R=301]標誌。永久重定向由瀏覽器緩存,並將減少對服務器執行的請求數量。您不需要爲您的第一條規則使用捕獲組,因此我只使用了匹配每個請求的語法,即^

RewriteEngine on 

#Turn the entire site into https, except for content.php 
RewriteCond %{HTTPS} off 
RewriteCond %{REQUEST_URI} !^/content\.php$ 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} 

#Use http instead for this url 
RewriteCond %{HTTPS} on 
RewriteCond ^content\.php$ http://%{HTTP_HOST}%{REQUEST_URI} 
0

有一個很簡單的解決方案:與og:url meta標籤:

<meta property="og:url" content="http://example.com/old-url" /> 

你可以閱讀更多有關進入FAQ部分:https://developers.facebook.com/docs/plugins/faqs

的部分被稱爲:如何我是否將頁面移至其他網址?