.htaccess代理机器人

时间:2018-03-26 09:47:02

标签: reactjs .htaccess seo prerender

我刚刚用create-react-app写了一篇博客。除此之外,我还写了一个小服务,它将使用服务器上的chrome为Google或Facebook等抓取工具呈现网站。

所以我应该向普通用户提供http://example.com/path-to-page,并且http://myprerenderer.com/render/http://example.com/path-to-page应该提供给抓取工具等。

这就是我的.htacces目前的样子:

RewriteEngine on
# Don't rewrite files or directories
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# Rewrite everything else to index.html to allow html5 state links
RewriteRule ^ index.html [L]

# redirect non www to www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]

# One year for image files
<filesMatch ".(jpg|jpeg|png|gif|ico|svg)$">
Header set Cache-Control "max-age=31536000, public"
</filesMatch>

# One month for css and js
<filesMatch ".(css|js)$">
Header set Cache-Control "max-age=2628000, public"
</filesMatch>

这适用于我访问的每个网址都由反应应用程序index.html服务(我正在使用反应路由器btw。)。

现在,我如何调整此场景的.htacces: 爬虫访问该站点,被重定向(或代理?)到预渲染器,然后使用chrome为该网站提供服务 - 但如果该预渲染服务已访问该站点,则不应该有另一个重定向。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可能希望添加类似于Prerender.io .htaccess的内容来检测爬虫和代理(而非重定向)请求到预呈现服务器:

https://gist.github.com/thoop/8072354