Reactjs facebook上的渲染链接未获得正确的元
当我通过facebook上的链接“www.testurl.com/profile”时,我没有得到正确的meta。我正在使用react头盔组件,我试图添加{og:title和og:description},但它不起作用。那个么,我该怎么办呢?你们应该在服务器上呈现网站,因为Facebook机器人不会呈现你们的应用程序。它们只是看到你的空应用程序,所以当社交媒体机器人访问你的网站时,你必须呈现你的应用程序和发送的字符串。我们正在使用一些nginx配置和prerender包来实现这一点。你可以试试 默认预渲染使用4201端口Reactjs facebook上的渲染链接未获得正确的元,reactjs,react-helmet,Reactjs,React Helmet,当我通过facebook上的链接“www.testurl.com/profile”时,我没有得到正确的meta。我正在使用react头盔组件,我试图添加{og:title和og:description},但它不起作用。那个么,我该怎么办呢?你们应该在服务器上呈现网站,因为Facebook机器人不会呈现你们的应用程序。它们只是看到你的空应用程序,所以当社交媒体机器人访问你的网站时,你必须呈现你的应用程序和发送的字符串。我们正在使用一些nginx配置和prerender包来实现这一点。你可以试试 默
server {
listen 80;
listen 443 ssl;
server_name yourservername.com;
root /var/www/build;
index index.html;
location / {
try_files $uri @prerender;
}
location @prerender {
set $prerender 0;
if ($http_user_agent ~* "googlebot|bingbot|yandex|baiduspider|twitterbot|facebookexternalhit|rogerbot|linkedinbot|embedly|quora link preview|showyoubot|outbrain|pinterest|slackbot|vkShare|W3C_Validator") {
set $prerender 1;
}
if ($args ~ "_escaped_fragment_") {
set $prerender 1;
}
if ($http_user_agent ~ "Prerender") {
set $prerender 0;
}
if ($uri ~* "\.(js|css|xml|less|png|jpg|jpeg|gif|pdf|doc|txt|ico|rss|zip|mp3|rar|exe|wmv|doc|avi|ppt|mpg|mpeg|tif|wav|mov|psd|ai|xls|mp4|m4a|swf|dat|dmg|iso|flv|m4v|torrent|ttf|woff|svg|eot)") {
set $prerender 0;
}
#resolve using Google's DNS server to force DNS resolution and prevent caching of IPs
resolver 8.8.8.8;
if ($prerender = 1) {
proxy_pass http://127.0.0.1:4201/render?url=https://www.yourwebsite.com$request_uri;
}
if ($prerender = 0) {
rewrite .* /index.html break;
}
}
}
伟大的这就是我刚才做的。但我当前的问题是server.js文件app.get('/profile',function(){});问题是应用程序正在监听端口,例如3000->app.listen(3000);所以,当通过(www.testutl.com:3000/profile)访问url时,它起作用了。但我需要的是让它在不添加url的情况下工作:3000!您可以使用Nginx配置完成此操作,请稍候,我将为您编写设置。好的,我正在等待,谢谢您将此代码添加到您的Nginx配置默认值/etc/Nginx/Nginx.conf或/etc/Nginx/sites enabled/default