首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重定向facebook爬虫的htaccess

重定向facebook爬虫的htaccess
EN

Stack Overflow用户
提问于 2018-06-28 20:58:23
回答 1查看 1.7K关注 0票数 1

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

经过研究,我发现当我为facebook爬虫填充元标签时,我需要另一个文件(在我的例子中是php文件)。在htaccess中,我试图检测到Facebook代理,并重定向到特定文件以填充元标记。

这是我的.htaccess:

代码语言:javascript
复制
<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/ url调试时:

代码语言:javascript
复制
http://website.com/cars/carDetail?id=48

未重定向到:

代码语言:javascript
复制
http://website.api.com/v1.0/meta-tags$1

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-07-02 14:57:03

我解决了我的问题。

重定向条件应该在htaccess的顶部。我还在顶部添加了"RewriteBase /“选项:

代码语言:javascript
复制
<IfModule mod_rewrite.c>

 RewriteEngine On
 RewriteBase /

# allow social media crawlers to work by redirecting them to a server-rendered static version on the page
RewriteCond %{HTTP_USER_AGENT} (facebookexternalhit/[0-9]|Twitterbot|Pinterest|Google.*snippet)
RewriteRule cars/carDetail(.*)$ http://website.api.com/v1.0/meta-tags$1 [R=301,L]

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}] 
</IfModule>
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51083561

复制
相关文章

相似问题

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