123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- worker_processes 1;
- events {
- worker_connections 1024;
- }
- http {
- include /etc/nginx/mime.types;
- default_type application/octet-stream;
- sendfile on;
- keepalive_timeout 65;
- server {
- listen 80;
- # Element2 子站
- location /element2 {
- alias /usr/share/nginx/html/element2/;
- index index.html index.htm;
- try_files $uri $uri/ /element2/index.html;
- # 动态替换 HTML 中的绝对路径
- sub_filter '="/js/' '="/element2/js/';
- # sub_filter '="/versions.json' '="/element2/versions.json';
- sub_filter '/versions.json' '/element2/versions.json';
- sub_filter '="/css/' '="/element2/css/';
- sub_filter '="/images/' '="/element2/images/';
- sub_filter 'href="/' 'href="/element2/'; # 处理超链接
- # sub_filter 'src="/' 'src="/element2/'; # 处理资源引用
- sub_filter_once off;
- sub_filter_types text/html;
- }
- # Element2 子站
- location = /versions.json {
- if ($http_referer !~ "/element2/?") {
- return 404;
- }
- alias /usr/share/nginx/html/element2/versions.json;
- }
- # Vue2 子站
- location /vue2 {
- # 精确配置别名路径(结尾必须带斜杠)
- alias /usr/share/nginx/html/v2.cn.vuejs.org/;
-
- # # 路径优先级校验
- # if ($request_uri !~ "^/vue2(/|$)") {
- # return 403;
- # }
- # 多维度路径重写保障
- index index.html;
- try_files $uri $uri/ /vue2/index.html;
- # 深度路径替换策略(覆盖所有常见静态资源)
- sub_filter_once off;
- sub_filter_types text/html text/css application/javascript;
- sub_filter '="/js/' '="/vue2/js/';
- sub_filter '="/css/' '="/vue2/css/';
- sub_filter '="/img/' '="/vue2/img/';
- sub_filter '="/fonts/' '="/vue2/fonts/';
- sub_filter 'href="/' 'href="/vue2/'; # 处理超链接
- sub_filter 'src="/' 'src="/vue2/'; # 处理资源引用
- }
- }
- }
|