我问的原因是因为IIS保护某些ASP.NET文件夹,如Bin,App_Data,App_Code等.即使URL不映射到实际的文件系统文件夹IIS也拒绝一个URL,其路径段等于提到的名字.
这意味着我不能有这样的路线:
{controller}/{action}/{id}
…其中id可以是任何字符串,例如
Catalog/Product/Bin
所以,而不是禁用这个安全措施,我愿意改变路由,使用id之前的后缀,像这样:
{controller}/{action}_{id} // e.g. Catalog/Product_Bin {controller}/{action}/_{id} // e.g. Catalog/Product/_Bin
但是如果id包含新的分米,则这些路由将不起作用,在这种情况下,例如,
// These URL won't work (I get 404 response) Catalog/Product_Bin_ Catalog/Product/_Bin_ Catalog/Product/__Bin
为什么?我不知道,看起来像一个bug给我.我如何使这些路由工作,其中id可以是任何字符串?