重定向htaccess的Facebook爬虫

时间:2018-06-28 12:58:23

标签: .htaccess vue.js web-crawler facebook-share

我已经使用vuejs创建了SPA应用程序。一切都很完美,直到我想在Facebook上分享动态内容。

经过研究,我发现当我填写Facebook搜寻器的元标记时,我需要另一个文件(以我的php文件为例)。 在htaccess中,我尝试检测Facebook代理并重定向到特定文件以填充元标记。

这是我的.htaccess:

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.html [NC,QSA]

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

# Crawler
RewriteCond %{HTTP_USER_AGENT} (facebookexternalhit/[0-9]|Facebot|Twitterbot|Pinterest|Google.*snippet)
RewriteRule cars/carDetail(.*)$ http://website.api.com/v1.0/meta-tags$1 [R=301,L]

但是不起作用。当您尝试从https://developers.facebook.com/tools/debug/sharing/进行调试时 网址:

http://website.com/cars/carDetail?id=48

没有重定向到:

http://website.api.com/v1.0/meta-tags$1

谢谢

1 个答案:

答案 0 :(得分:1)

我解决了我的问题。

重定向条件应位于htaccess的顶部。另外,我还在顶部添加了“ RewriteBase /”选项:

this.data.getPrice()
  .subscribe(res => {
    this.prices = res.result;
  });