我遇到了一个非常奇怪的问题,我所有的js、css、image等都出现了问题。在服务器上找不到。然而,在当地一切都很好。
这是我的布局的一部分,其中加载了脚本和css。
<head>
<title>@ViewBag.Title</title>
<meta name="description" content="@ViewBag.MetaDescription">
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
@await Component.InvokeAsync("GoogleAnalytics")
<link rel="icon" href="~/img/Logo-small-background.png">
<link rel="stylesheet" href="~/css/lib/bootstrap.min.css" />
<link rel="stylesheet" href="~/css/fonts/ProximaNova/fonts.min.css" />
<link rel="stylesheet" href="~/css/lib/font-awesome.min.css" />
<link rel="stylesheet" href="~/css/site.css" />
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/js/lib/bootstrap.min.js"></script>
<script src="~/js/lib/vue.min.js"></script>
<script src="~/js/lib/lodash.min.js"></script>
<script src="~/js/Shared.js"></script>
</head>
localhost路径的屏幕截图:https://i.stack.imgur.com/QORkw.jpg
以及来自服务器的屏幕截图:https://i.stack.imgur.com/eYOBB.jpg
我相信我的解决方案中也有正确的路径:https://i.stack.imgur.com/9tsUt.jpg
这是我的程序.cs,只是为了表明我没有覆盖默认的webRoot。
public static IWebHostBuilder CreateHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStructureMap()
.UseUrls("http://*:5000")
.UseStartup<Startup>();
以下是我尝试向右导航到img时的一些镜头。
localhost:https://i.stack.imgur.com/EOlKf.jpg
服务器:https://i.stack.imgur.com/QXAcC.jpg
如果需要的话,我会在运行Ubuntu和Apache的Raspberry Pi上运行这个,尽管我认为这在这种情况下并不重要,但我不确定。
如有任何帮助,我们将不胜感激。
事实证明这确实与我的服务器有关。
我试图使用这样的命令在本地运行我的网站
dotnet /var/www/site/site.dll
当我在服务器上运行该权限时,它是以我的Pi用户的身份运行的,该用户没有访问所有文件夹的权限。
一旦我启动了一直运行.net的服务器,该服务就以www数据的形式运行,因此它确实可以访问。
否则,我也可以在手动运行时授予我的用户访问权限。
~表示Unix中的主目录。
~只是未运行Windows的本地计算机上的主目录。
HTML知道如何处理"作为父母和"作为当前目录~"作为文件夹名称。因此,您可能会在控制台中得到404。