1

切换到 https:// 后,我们所有的文章都失去了他们在 Facebook 上的“赞”计数。所以我想为我们网站的内容区域禁用https,它位于/content.php(文章的形式是content.php?212-My-Article)

我当前的.htaccess:

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

我需要添加什么,以便将所有 content.php* 流量重定向到 http(非安全),即使他们键入“https”

谢谢!

4

4 回答 4

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]
于 2013-10-02T14:12:48.943 回答
0

我找到了一种方法来解决这个问题,而不会使 content.php 变得不安全。Facebook“点赞”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,现在一切都很好!

于 2013-10-02T14:43:20.707 回答
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}
于 2013-10-02T15:02:21.360 回答
0

有一个非常简单的解决方案:使用og:url元标记:

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

您可以在常见问题解答部分阅读更多相关信息:https ://developers.facebook.com/docs/plugins/faqs

该部分称为:如何将页面移动到不同的 URL?

于 2017-02-03T15:48:35.347 回答