官网文档: 托管和部署 ASP.NET Core Blazor
主要配置点:
1, App.Razor 文件下的 应用基路径
以下是:配置应用基路径
默认是
<base href="/" />或者<base href="~/" />
改成
<base href="/app1/" />
其中app1就是你要的默认添加的子路径,
在这里,尾部的斜杠为必须的
网站跑起来就会是:http://localhost:80/app1/ 这样的根地址
调试运行.net7,8 会有报错
注意:有些人会把这谢html标签抽到一个默认布局文件,例如:Layout.cshtml
2, Program.cs 文件
注意顺序:前:UsePathBase,中:UseStaticFiles,后:UseRouting
app.UsePathBase("/app1"); //前面提到的调试运行报错的,就是这个地方少了
app.UseStaticFiles(); //静态文件这个不能少,不然你的js,css,img都找不到了
app.UseStaticFiles("/app1"); //如果还是找不到可以添加这个指定个目录前缀
app.UseRouting();
在这里,尾部的斜杠不能有,会报错
3, 站点内的所有的页面跳转路径,不可直接使用" / “开头,不然会找不到网页,毕竟你已经设置了” /app1 "为基路径
所有的链接包括标签跳转,图片引用,后台代码的页面跳转也是
全部改成" ./ " 或者直接不用" / " 开头,就可以正常找到页面
不然就会找不到页面
4, 想要开发运行的时候也正常,就要去launchSettings.json下面的:launchUrl 属性后面的启动链接也加上app1 这样开发的时候也是用的app1 路径
5, 至于把基路径放到配置文件appsettings.json
就直接加个配置属性,然后在 Program.cs,App.Razor 需要的地方引用配置文件的属性
6, 在iis 部署的时候,在网站添加一个应用程序,应用程序名就是上面的路径名app1,一定要一致.
一改就要全部改,你可以改成你需要的,应用程序池得是专用的一个,不能和别的公用一个,会报错
到这就完成了
更详细的东西就去看文档上的解释,这里是简单的必要配置精简