gpt4 book ai didi

facebook - 创建排除 facebook 的 301 重定向

转载 作者:可可西里 更新时间:2023-11-01 16:24:26 24 4
gpt4 key购买 nike

我有一个网站,我从 http 更改为 https。它有一个 301 重定向以确保每个人都转到 https 版本。

不幸的是,这导致 Facebook 将其视为不同的网站并将分享计数重置为零。在 Facebook 的开发者指南中,they give a solution to this :

if your new URL was "https ://example.com/new-url", and the old URL was https://example.com/old-url, you should include this snippit in the new-url:

meta property="og:url" content="https://example.com/old-url" /

但是,我在网站上有 301 重定向这一事实使它无法正常工作。 Facebook 的爬虫永远不会到达 http 站点。 Facebook 对此是这样说的:

If you want other clients to redirect when they visit the URL, you must send your 301 HTTP response to all non-Facebook crawler clients.

有没有人知道如何做到这一点?我可以编辑我的 .htaccess 文件。但是我可以放什么来实现这个目标呢?

谢谢!

编辑:我当前的 .htaccess 文件很简单:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

最佳答案

它说你需要阻止爬虫/用户代理重定向。所以只需将其添加到规则中即可。

RewriteEngine On
RewriteCond %{HTTPS} !^on
RewriteCond %{HTTP_USER_AGENT} !(Facebot|facebookexternalhit/1.1) [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

因此,如果 https 打开并且它不是 facebook 爬虫,则重定向到 https,否则它将保持 http。

信息在这里。

https://developers.facebook.com/docs/sharing/webmasters/crawler#updating

关于facebook - 创建排除 facebook 的 301 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33486548/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com