【发布时间】:2021-09-22 13:39:09
【问题描述】:
我有一个 ASPNET Core 应用程序,它可以在我的机器上运行良好,其 URL 为 https://localhost:5001/,但不能在客户端服务器上运行,该应用程序的 URL 为 https://example.com/subfolder/。
问题似乎是其中一个页面上的重定向错误,其中用户被发送到/something 而不是/subfolder/something。我只使用相对 URL。在应用程序的其余部分,重定向工作正常。
我想知道是否可以在 Visual Studio 中调试应用程序并让它在子文件夹中运行,最好使用 Kestrel,但 IIS Express 也可能是一个选项。
cmets 后更新 在添加有关问题的详细信息时,我发现我从错误的角度看待它。实际问题似乎是应用程序以https://example.com/subfolder 启动(没有尾部斜杠)。重定向到./something(或只是something)将导致https://example.com/something。
(因此,我真正的问题是:如果打开了https://example.com/subfolder,我该如何重定向到https://example.com/subfolder/?我会先尝试自己解决这个问题,也许应该在网络服务器中进行配置。同时,我还是想知道子文件夹能不能用来调试)
【问题讨论】:
-
如果没有看到您遇到的实际错误,很难说出问题所在。这可能是服务器配置问题,所以没有什么可调试的,但这只是猜测
-
我的假设是 Apache/Nginx 或您使用的任何反向代理配置错误。基本上,您的反向代理应该将请求从根“/”重定向到类似这样的内容:“localhost:5001/subfolder/”。
-
@Alexander 大多数重定向工作正常,只是这个失败,所以我不认为这是服务器问题。因为我想对如何调试子文件夹中的应用程序有一个通用的答案,所以我省略了细节,但也许我还是应该添加它们。给我一点时间。
标签: asp.net-mvc asp.net-core kestrel-http-server