我正在制作一个测试解决方案,只有 2 或 3 个页面组织在这样的文件夹中:
当我运行该应用程序时,我会得到一个这样的网址:
有任何方法可以维护该物理路径,但具有不同的虚拟路径,例如
http://localhost:40300/Index.aspx
没有奇怪的词“意见”?
我正在制作一个测试解决方案,只有 2 或 3 个页面组织在这样的文件夹中:
当我运行该应用程序时,我会得到一个这样的网址:
有任何方法可以维护该物理路径,但具有不同的虚拟路径,例如
http://localhost:40300/Index.aspx
没有奇怪的词“意见”?
查看 IIS 的URL 重写模块。作为替代方案,您可以创建一个自定义 HTTP 模块,该模块将适当地重写虚拟路径:
public class MyRewriteHttpModule : IHttpModule
{
// ...
public void Init(HttpApplication app)
{
app.AuthenticateRequest += Application_AuthenticateRequest;
}
private void Application_AuthenticateRequest(object sender, EventArgs e)
{
var app = sender as HttpApplication;
var path = app.Request.Url.PathAndQuery;
if (!path.StartsWith("/Views/", StringComparison.OrdinalIgnoreCase))
app.Context.RewritePath("/Views/" + path);
}
}