首页 > 解决方案 > 使用 nginx 修改 spa index.html 元标记

问题描述

我有一个反应应用程序,我试图弄清楚如何重写静态 index.html 中的一些元标记。我最近才知道爬虫不会爬取 javascript 代码,而只会爬取 html,所以在将代码库转换为服务器端渲染或使用预渲染服务之前,我想看看是否有通过 nginx 的解决方案。这是我用来服务水疗中心的 nginx 配置。

events { }

http{
    server {
        server_name mywebsite.com;
        return 301 $scheme://www.mywebsite.com$request_uri;
    }

    server {
        server_name www.mywebsite.com;

        root /usr/share/nginx/html;

        proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
        
        location ~* \.(?:manifest|appcache|html?|xml|json)$ {
          expires -1;
        }

        location ~* \.(?:css|js)$ {
          try_files $uri =404;
          expires 1y;
          access_log off;
          add_header Cache-Control "public";
        }

        # Any route containing a file extension (e.g. /devicesfile.js)
        location ~ ^.+\..+$ {
          try_files $uri =404;
        }

        # Any route that doesn't have a file extension (e.g. /devices)
        location / {
            try_files $uri $uri/ /index.html;
        }
    }
}

所以在这一部分:

# Any route that doesn't have a file extension (e.g. /devices)
location / {
   try_files $uri $uri/ /index.html;
}

如果 uri 包含特定的字符串,有没有办法让我说嘿...更改提供给浏览器的 index.html 上的元标记,这会像我希望的那样更新静态 index.html 吗?

标签: reactjsnginx

解决方案


推荐阅读