Angular部署Vercel后非首页刷新404,求替代HashLocationStrategy方案
解决Angular部署Vercel后非首页刷新404(无需Hash模式)
当使用PathLocationStrategy(Angular默认的HTML5路由模式)时,Vercel服务器默认不会将非根路径的请求转发到index.html,导致刷新非首页出现404。可以通过以下步骤解决:
- 在Angular项目根目录创建
vercel.json文件,添加重写规则:
{ "rewrites": [ { "source": "/(.*)", "destination": "/index.html" } ] }
该规则会让Vercel将所有路径的请求都转发到index.html,交由Angular的路由系统处理,而非返回404。
确认Angular项目的基础路径配置正确:
打开angular.json,找到projects -> [你的项目名] -> architect -> build -> options,确保baseHref设置为"/";或者在构建项目时使用命令ng build --base-href /。重新将项目部署到Vercel,之后刷新非首页路由就不会出现404,路径也保持无
#的干净形式。
内容的提问来源于stack exchange,提问作者krabochki
相关产品推荐
相关产品推荐

