当前位置: 首页 > wzjs >正文

在线做网站图标商城分销怎么做

在线做网站图标,商城分销怎么做,做水果的网站有哪些,做网站用哪个工具在你的场景下,history/ 目录是上一个版本,main/ 目录是当前版本。你希望通过 Nginx 反向代理,并利用 try_files 机制,使页面刷新时仍能正常访问(避免 404),同时支持 SPA 前端路由,并…

在你的场景下,history/ 目录是上一个版本,main/ 目录是当前版本。你希望通过 Nginx 反向代理,并利用 try_files 机制,使页面刷新时仍能正常访问(避免 404),同时支持 SPA 前端路由,并且能够切换不同版本的资源。


一、Nginx 解决方案

你可以使用 try_files 结合 main/ 和 history/ 目录,实现:

  • 默认加载 main/ 版本
  • 如果 main/ 目录找不到资源,就回退到 history/
  • 支持前端 SPA 刷新

Nginx 配置

nginx
复制编辑
server {listen 80;server_name yourdomain.com;location / {root /var/www/html;index index.html;try_files $uri $uri/ /main/index.html;}# 代理 main 版本location /main/ {root /var/www/html;index index.html;try_files $uri $uri/ /main/index.html;}# 代理 history 版本(如果 main 目录找不到文件,则回退到 history 版本)location /history/ {root /var/www/html;index index.html;try_files $uri $uri/ /history/index.html;}# 处理前端路由刷新 404 问题location /app/ {root /var/www/html;index index.html;try_files $uri /main/index.html;}error_page 404 /main/index.html;
}

二、关键点解析

  1. try_files $uri $uri/ /main/index.html;

    • 先尝试访问请求的静态文件 ($uri),如果找不到,再尝试访问目录 ($uri/),最后回退到 main/index.html 处理 SPA 路由。
  2. 支持 main/ 和 history/ 目录

    • /main/ 目录是当前版本,默认使用它。
    • /history/ 目录是上一个版本,如果 main/ 目录中找不到资源,就会尝试从 history/ 目录加载。
  3. error_page 404 /main/index.html;

    • 避免用户直接刷新时 404,Nginx 会回退到 main/index.html 让前端框架处理路由。

三、前端如何切换版本?

1. 通过 URL 参数控制

你可以在前端代码中检测 URL 参数,如 ?version=history,然后动态切换资源:

javascript
复制编辑
const version = new URLSearchParams(window.location.search).get("version") || "main";
document.write(`<script src="/${version}/app.js"></script>`);

2. Nginx 变量控制

如果你希望动态切换版本,可以使用 Nginx 变量:

nginx
复制编辑
set $version main; # 默认版本
if ($arg_version = history) {set $version history;
}
location / {try_files $uri /$version/index.html;
}

这样,你可以通过 yourdomain.com?version=history 访问历史版本。


三、总结

方案适用场景主要优点主要缺点
try_files 机制适用于 SPA 应用的版本切换切换新旧版本简单,不影响前端代码需要正确配置 Nginx
URL 参数控制前端加载适用于用户可自由选择版本用户体验好,可以灵活回退版本需要前端代码支持
Nginx 变量控制适用于自动化切换版本配置灵活,自动适配不同版本需要 Nginx 解析请求参数

这个方案可以完美解决前端发版导致的页面刷新问题,同时支持新旧版本共存!

http://www.dtcms.com/wzjs/594653.html

相关文章:

  • 网站建设及营销方案交互网站是什么
  • 卫生网站建设方案网站建设国外拂去其
  • 如何推广网站会员注册南京网站建设招聘
  • 网站建设的可行性报告范文网络架构动态
  • 深圳做电子工厂的网站网站开发后未付维护费
  • 免费网站生成软件wordpress文章中显示打赏
  • 后台建设电商网站谁可以做网站
  • 网站流量的主要来源有东莞网站制作南城
  • 深圳游戏网站开发成都自助建站模板
  • 网站后台上传不了文件做资金盘网站
  • 访问外国网站速度慢设计公司起名字寓意好的字
  • 网站服务器的作用潍坊网站制作 熊掌号
  • 小程序与手机网站区别seo是什么姓氏
  • 什么网站做简历免费WordPress文怎么写
  • wordpress数据库损坏网站高德地图怎么看实况街景
  • 网站建设com上海软件外包公司有哪些
  • 贵阳网站建设兼职关于新农村网络建设网站
  • 阿里云 企业网站中国对外贸易网站
  • 内网建设网站网站跳转如何做
  • 网站推广公司需要多少钱wordpress 文章浏览数排列
  • 泰安微网站建设广西建设网电子证查询打印
  • 哪个网站做高中的题好如皋市城乡建设局网站
  • 网络工程师和网站开发员php怎么做网页
  • 临桂建设局安全股网站桂林网站制作报价
  • c sql网站开发先做网站还是先做app
  • 电子商务网站 开发m99ww094cn 苍井空做的网站
  • 网站标题作弊详解龙岗建设高端网站
  • 重庆最新网站备案清河做网站哪家好
  • 可信赖的昆明网站建设ag1042入口快速入口
  • 陕西省交通建设公司网站南京制作网站公司