【发布时间】:2021-05-28 02:39:24
【问题描述】:
我正在尝试在 IIS 中创建 URL 重写规则,将用户重定向到新网页。规则的路径是包含在虚拟目录中的已删除 PDF 文件。我在现有网站上使用此规则,但在我们使用 .Net 核心的新/更新网站上 - 该规则不起作用(返回 404 状态代码)。虚拟目录设置相同 - /pdf。如果是虚拟目录,则似乎完全忽略该规则。
Website
│ New_Web_Page
└───pdf (virtual directory)
│ │ A_PDF_File.pdf
<rule name="PDF Redirect Rule" stopProcessing="true">
<match url="pdf/A_PDF_File.pdf" />
<action type="Redirect" url="New_Web_Page" redirectType="Permanent" />
</rule>
【问题讨论】:
-
如果 url 重写对您的业务很重要,我认为您应该尝试将该任务委托给
asp.net core中间件。依赖IIS可以让您的团队熟悉,但它当然不灵活,例如当您的应用需要使用其他主机类型部署时,例如:docker。当然,无论如何,这与您想要的IIS有点不合。 -
不幸的是,该站点有多个应用程序。其他 web 应用程序是 asp.net web 表单,并依赖其中一些虚拟目录来运行。我们的目标是在有时间重写这些遗留应用程序(或将它们包含在新站点中)时最终消除它们。
标签: asp.net-core iis url-rewriting