(最终)我已经成功地在反向代理后面设置了asp.net mvc应用程序(在IIS上使用ARR / URL重写)。
我已经通过在startup.cs的中间件注册中使用了以下精彩代码段来管理了这一点:
app.Use((context, next) => {
context.Request.PathBase = new PathString("/mysite");
next();
});
一切都是“ asp”的作品。标签就可以了。 querystring前缀会按需添加到所有内容的前面,即使连接到Azure AD的身份验证中间件也可以正常工作。
但是,我的标记和js代码文件中的脚本和链接却没有。
我应该如何确保以下代码段转发到正确的(/ mysite前缀)URL?
var table = $('#dataTable').DataTable(
{
'ajax': { 'url': '/mycontroller/FetchData', 'dataSrc': '' },
'destroy': true,
'columns': [
{ 'data': 'date' },
{ 'data': 'filename' },
]
});
对于常规的旧标记,我可以使用我认为的出站url重写(即使我不想这样做)。但是我该如何修复上面的相对URL,以便它既可以在本地(没有查询字符串前缀)又可以使用代理工作?