首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Facebook调试器:在反向代理重写后更改规范URL值

Facebook调试器:在反向代理重写后更改规范URL值
EN

Stack Overflow用户
提问于 2018-05-18 21:53:28
回答 1查看 166关注 0票数 0

我已经创建了一个简单的应用程序,它的服务器根据用户代理呈现一些基本的SPA内容。

例如,如果在Facebook上共享了一个AngularJS网站链接,我有一个Apache重写规则来将该链接重定向到渲染应用程序。然后,呈现应用程序检查作为查询参数传递的URL,并返回指定的呈现内容。

一切都按预期运行,但渲染结果有问题。Facebook帖子中显示的规范链接是渲染应用程序的链接。下面是正在发生的事情:

共享链接:www.example.com/

- Shared -link

Facebook的帖子结果:

显示的不是共享链接(www.example.com/ the - shared - link ),而是渲染应用程序(rendering.app.com)。但如果我点击Facebook的帖子,它会打开正确的网站页面。

Facebook调试器结果:

所有需要的meta标签都被添加到渲染的结果页面:

代码语言:javascript
复制
<!-- Schema.org markup for Google+ -->
<meta itemprop="name" content="Lorem ipsum dolor sit amet, consectetur adipiscing elit." />
<meta itemprop="description" content="Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo." />
<meta itemprop="image" content="http://www.example.com/some-image.jpg" />

<!-- Twiter Cards -->
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="Lorem ipsum dolor sit amet, consectetur adipiscing elit." />
<meta name="twitter:title" content="Lorem ipsum dolor sit amet, consectetur adipiscing elit." />
<meta name="twitter:description" content="Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo." />
<meta name="twitter:image:src" content="http://www.example.com/some-image.jpg" />
<!--/ Twiter Cards -->

<!-- Open Graph -->
<meta property="og:site_name" content="Lorem ipsum dolor sit amet, consectetur adipiscing elit." />
<meta property="og:type" content="website" />
<meta property="og:title" content="Lorem ipsum dolor sit amet, consectetur adipiscing elit." />
<meta property="og:url" content="http://www.example.com/the-shared-link" />
<meta property="og:description" content="Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo." />
<meta property="og:image" content="http://www.example.com/some-image.jpg" />
<meta property="og:image:width" content="500" />
<meta property="og:image:height" content="375" />
<!--/ Open Graph -->

Apache htaccess重写规则:

代码语言:javascript
复制
RewriteCond %{HTTP_USER_AGENT} (facebookexternalhit/[0-9]|Facebot|Twitterbot/[0-9]|Pinterest|Pinterestbot|LinkedInBot/[0-9])
RewriteRule ^(.*)$ http://rendering.app.com/?url=%{REQUEST_URI} [P,L]

我做错了什么?如何将规范的url更改为原始的共享链接?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-28 19:51:58

解决了我的问题!

https域具有强制rendering.app.com的重写规则。这会导致一个301 HTTP重定向(就像Facebook调试器显示的那样)。使用https://rendeting.app.com解决了我的问题。解决301 HTTP重定向的另一种方法是删除目标域中的https重写规则。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50412886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档