我们的组织收到很多来自市场部门的请求,要求为我们面向公众的生产网站创建友好的 URL。我正在考虑创建一个简单的内部 ASP.NET Web 表单应用程序,以便他们查看和修改 URL 重写映射。该应用程序本质上是 web.config XML 的前端。
目的是简化映射过程,而无需向非 IT 人员提供服务器/IIS 访问权限。
有哪些考虑因素会使这种做法变得不明智?这是假设修改代码是可靠的,并实现了所有适当的验证,因此格式错误的 XML 不会破坏网站。
或者,如果已经有产品能够可靠地提供相同功能,那么这也是一种选择。
答案1
如果您继续采用您的方法,我至少会将所有重写规则移到另一个文件中,例如rewrite.config
:
<rules>
<!-- Rewrite Rules, this gets included in web.config during runtime -->
<rule name="AspNetTrace" stopProcessing="true">
<match url="trace\.axd" />
<action type="CustomResponse" statusCode="404" statusReason="Not Found" statusDescription="Trace not allowed" />
</rule>
</rules>
在您的 web.config 中,只有类似这样的内容:
<rewrite>
<rules configSource="rewrite.config" />
</rewrite>
然后确保您的应用程序池身份具有写入权限rewrite.config
但没有web.config
您通常不希望 web.config 文件能够从网站本身进行更新,不正确的规则也可能破坏整个网站,因此我会对此非常小心。