我有一个基于api的应用程序,其基于浏览器的版本是在Amazon S3(带有Cloudfront)上托管的AngularJS单页应用程序。过去,我曾在基于服务器的网站上使用.htaccess将爬网程序机器人从网站的动态版本(许多用户不断更新)重定向到静态版本,该静态版本会为Facebook创建漂亮的“对象”或“卡片”, Twitter等。
用于重定向漫游器的htaccess文件如下所示:
RewriteCond %{HTTP_USER_AGENT} ^facebookexternalhit.*$
RewriteRule ^(.*)$ http://example.com/api/static?post=$1 [QSA,L]
RewriteCond %{HTTP_USER_AGENT} ^Twitterbot.*$
RewriteRule ^(.*)$ http://example.com/api/static?post=$1 [QSA,L]
,但是Cloudfront当然不会运行服务器端代码。为此,我们需要Lambda(无服务器代码)。
使用Amazon AWS和静态托管来重定向Facebook用户代理或爬虫机器人的正确方法是什么?我本来以为这对于现代应用程序将非常重要!谢谢。