我在 Windows Server 2008 R2 上使用 IIS7 运行 ASP.NET 4.0 网站。
该站点在主域(~/site1、~/site2、~/site3 等)下有许多 Web 应用程序。每个 Web 应用程序都是同一网站源文件夹 (D:\Websites\MySite) 的一个实例,因此您可以通过以下任一 URL 访问同一网站:
www.mydomain.com
www.mydomain.com/site1
www.mydomain.com/site2
www.mydomain.com/site3
每次都返回相同的网站,但内容略有不同,具体取决于调用的特定 URL。
几个月来一切都运行良好,直到我被要求使用 URL Rewrite 添加一些 SEO 优化。我添加的每个 URL 重写规则都会产生以下错误:
HTTP 错误 500.52 - URL 重写模块错误。由于发生内部服务器错误,无法显示该页面。
配置错误:无法添加类型为“规则”且唯一键属性“名称”设置为“AddTrailingSlashRule1”的重复集合条目
我已经阅读了 web.config 文件中围绕 <system.webServer> configSection 的其他地方:
<location path="." inheritInChildApplications="false">
将解决这个问题。
但是,虽然它阻止了错误消息的出现,但它也阻止了 URL 重写规则在任何 Web 应用程序(~/site1、~/site2、~/site3)中的工作。
如何让 URL 重写模块与 Web 应用程序一起使用?
谢谢你尽你所能的帮助。