部署 html 到非根目录

ant.desgin pro 的 文章介绍

https://pro.ant.design/zh-CN/docs/deploy#%E9%83%A8%E7%BD%B2%E5%88%B0%E9%9D%9E%E6%A0%B9%E7%9B%AE%E5%BD%95


修改config.ts 的如下配置

export default {
  // ... some config
  base: '/oa/',
  publicPath: '/oa/',
};


遇到的坑

使用nginx后,遇到斜杠的问题

我的实际地址是/be,配置了非根目录后是 /oa/be,

但是由于nginx默认启用了尾部加斜杠,也就是假如访问的/be,它会301跳转到/be/

这个时候就出现了一个问题,当访问 /oa/be 的时候,它识别出尾部没斜杠,所以进行了301跳转,理论上会跳转到/oa/be/,但是实际跳转到了/be/,

禁用加斜杠功能的配置如下:

server {
    listen       80;
    server_name  localhost;
    # 取消url后面自动加斜杠
    absolute_redirect off;
}

但是,这里配置的是子目录,如下所示,如果这样加,貌似没效果

server {
    listen       80;
    server_name  localhost;

    location /oa {
        # 取消url后面自动加斜杠
        absolute_redirect off;
        proxy_pass http://192.168.0.71:5111/;
    }
}

由于主目录下是生产环境,暂时放弃尝试加到主目录下,这里仅记录下存在的问题