Max*_*ott 2 .htaccess https redirect facebook http
我有一个网站,我从http更改为https.它有一个301重定向,以确保每个人都转到https版本.
不幸的是,这导致Facebook将其视为不同的网站并将共享计数重置为零.在Facebook的开发者指南中,他们给出了一个解决方案:
如果您的新网址为"https://example.com/new-url",旧网址为 https://example.com/old-url,则应将此snippit包含在新网址中:
meta property ="og:url"content ="https://example.com/old-url"/
但是,我在网站上有301重定向的事实使这不起作用.Facebook的抓取工具永远不会到达http网站.以下是Facebook对此的评价:
如果您希望其他客户端在访问URL时重定向,则必须将301 HTTP响应发送给所有非Facebook爬网程序客户端.
有谁知道如何做到这一点?我可以编辑我的.htaccess文件.但是,我可以在那里完成这项工作?
谢谢!
编辑:我当前的.htaccess文件很简单:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Run Code Online (Sandbox Code Playgroud)
它表示您需要阻止爬网程序/用户代理重定向.所以只需将其添加到规则中即可.
RewriteEngine On
RewriteCond %{HTTPS} !^on
RewriteCond %{HTTP_USER_AGENT} !(Facebot|facebookexternalhit/1.1) [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Run Code Online (Sandbox Code Playgroud)
因此,如果https 没有打开并且它不是 Facebook抓取工具,那么重定向到https,否则它将保持http.
信息在这里.
https://developers.facebook.com/docs/sharing/webmasters/crawler#updating
| 归档时间: |
|
| 查看次数: |
2320 次 |
| 最近记录: |