我们有一个内置于EPiServer的网站,并且正在www.mysite.com上运行
现在我们已经构建了一个小型的.NET微型网站,它不是我们想要作为IIS虚拟目录运行的EPiServer项目的一部分www.mysite.com/microsite
目前,我们看到微型网站上的所有资产都返回了404,所以www.mysite.com/microsite/assets/js/myjs.js或www.mysite.com/microsite/assets/img/myimg .JPG
提供微型网站的主页,但缺少资产。有一种方法我可以配置主EPiServer项目忽略对我的微网站文件夹结构的所有请求。
答案 0 :(得分:1)
经过一段时间的斗争,我们现在得到了一个可重复的解决方案。
在父应用程序(EPiServer解决方案)中,我们需要在web.config中添加以下位置元素
<location path="MY-IIS-APPLICATION-NAME">
<system.webServer>
<handlers>
<clear />
<add name="wildcard" path="*" verb="*" type="System.Web.StaticFileHandler" />
</handlers>
</system.webServer>
</location>
然后,在同一个web.config中,我们使用此元素<system.web>
<system.webserver>
和<location path="." inheritInChildApplications="false">
部分
最后,我们需要更改IIS-Application中的web.config以卸载EPiServer处理程序和库。
所以,在<system.web>
部分,我们添加了这些元素
<httpModules>
<clear />
</httpModules>
<httpHandlers>
<clear />
</httpHandlers>
然后在<system.webserver>
内我们进行这些更改/删除
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
</handlers>
<modules>
<remove name="InitializationModule" />
<remove name="FirstBeginRequestModule" />
<remove name="Initializer" />
<remove name="WorkflowRuntime" />
<remove name="UrlRewriteModule" />
<remove name="ShellRoutingModule" />
<remove name="ContainerDisposal" />
<remove name="PropertyInjection" />
<remove name="AttributedInjection" />
</modules>
这有可能不是解决方案,但在过去的几天里,我们已经将其推广到6个不同的项目,并且每次都有预期的效果。