备份博文内容
This commit is contained in:
@@ -0,0 +1 @@
|
||||
<p>出现“点击链接正常,但刷新页面提示 404 Not Found”的原因是,您的 Vue 项目使用了 <code>history</code> 路由模式 。</p> <br><p>当您在前端点击页面时,是通过 JavaScript 改变的 URL ;而直接刷新页面时,浏览器会向服务器(Cloudflare)请求真实的 URL,如果服务器找不到对应的文件,就会返回 404。</p> <br><h3>使用 Cloudflare Workers</h3> <br><p>您可以在 <code>wrangler.toml</code> (或 <code>wrangler.jsonc</code>) 配置文件中,直接加上 <code>single-page-application</code> 的配置,无需修改任何代码:</p> <br><p></p> <br><pre><code>[assets]<br>directory = "./dist" # 或您的打包输出目录<br>not_found_handling = "single-page-application" # 关键配置:让找不到的页面回退到 SPA<br></code></pre> <br><p></p> <br><p></p> <br><p class="img-center"><a href="https://cdn.isharkfly.com/com-isharkfly-www/discourse-uploads/original/3X/5/f/5fbc034a921f2d7cbba7ca5287b0571f106054bb.jpeg" rel="nofollow"><img alt="2026-06-2921-02-48" height="442" src="https://i-blog.csdnimg.cn/img_convert/1f7b9869898abff63dcb2c98d73d5da5.jpeg" width="690" /></a></p> <br><p></p> <br><p>这个配置参数很关键。</p> <br><h3>single-page-application</h3> <br><p>在 Cloudflare Workers 中处理 <code>not_found</code> (404) 取决于你的部署方式:是纯逻辑 Worker 还是带有静态资源的 Worker(如 Workers Sites / Pages / 绑定 Assets)。</p> <br><p>如果你的 Worker 托管了前端应用(如 React/Vue SPA),你可以通过 <code>wrangler.jsonc</code> (或 <code>wrangler.toml</code>) 配置资源未找到时的处理行为。</p> <br><p>在配置文件中添加 <code>not_found_handling</code>。</p> <br><p><strong>单页应用 (SPA) 模式</strong> ,将未匹配的路径重定向到 <code>index.html</code>,交给前端路由处理。</p> <br><p></p> <br><p></p> <br><p class="img-center"><a href="https://cdn.isharkfly.com/com-isharkfly-www/discourse-uploads/original/3X/d/2/d2ff492614b71b6c4138ccd2ac31580b7e8090a4.jpeg" rel="nofollow"><img alt="2026-06-2921-04-56" height="500" src="https://i-blog.csdnimg.cn/img_convert/60bd0194b219394cf274b7d38d7c17da.jpeg" width="572" /></a></p> <br><p></p> <br><p>SPA 在 Github 上有讨论。</p> <br><p></p> <br><p><a href="https://www.isharkfly.com/t/cloudflare-worker-404-not-found/2309" title="https://www.isharkfly.com/t/cloudflare-worker-404-not-found/2309" rel="nofollow">https://www.isharkfly.com/t/cloudflare-worker-404-not-found/2309</a></p>
|
||||
Reference in New Issue
Block a user