Orchard Web 应用程序内的虚拟目录
我希望在 Orchard Web 应用程序内有一个 /downloads 文件夹,我可以将客户端定向到该文件夹,以便他们可以下载文件,即。 www.mydomain.com/downloads/test.txt
在 IIS 中,我在 Orchard 网站下创建了一个虚拟目录(不是应用程序),该目录指向服务器上的下载文件夹。
在 Orchard Global.ascx 文件中,我添加了以下内容,认为这是一个路由问题:
public static void RegisterRoutes(RouteCollection routes) {
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("downloads/{*pathInfo}"); // added this IgnoreRoute
}
不能 100% 确定是否需要这样做。
但是,当我去下载文件 www.mydomain.com/downloads/test.txt 时,我继续收到 404 错误。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
感谢这篇文章找到了修复: http://orchard.codeplex.com/discussions/280041
首先,它需要是Orchard网站下的一个应用程序,而不仅仅是一个虚拟目录。在IIS中你可以右键单击虚拟目录>转换为应用程序。
之后,问题是 Orchard 中的 web.config 传播到子应用程序。要阻止这种情况,您需要添加
和
节点周围继承InChildApplications="false">。您可以在此处了解有关位置标记的更多信息。进行这些更改后,我可以毫无问题地成功下载 test.txt 文件。
Found the fix thanks to this post: http://orchard.codeplex.com/discussions/280041
Firstly, it needed to be an application under the Orchard website, rather than just a virtual directory. In IIS you can right click on the virtual directory > convert to Application.
After that, the issue is that the web.config in Orchard propagates to the child applications. To stop this, you need to add
<location path="." inheritInChildApplications="false">
around both the<system.web>
and<system.webserver>
nodes in Orchard's web.config file. You can read more on the location tag here.After making those changes, I can then successfully download my test.txt file with no problems.
太棒了,非常感谢您的回答。直接在这里实现后,我的 Orchard 样式就崩溃了,但是在查看该链接后,我注意到了这段代码:
对于任何遇到该问题的人来说,这将修复您的 Orchard 样式。
它应放置在站点根目录下的 web.config 文件中,位于您将要执行的
之前和最后一个之后刚刚添加完成包装
。Brilliant, thank you so much for this answer. After implementing it straight off here my Orchard styles broke, but after having a look at that link, I noticed this bit of code:
Which will fix your Orchard style, for anyone having that issue.
It should be placed in the web.config file in the root of your site, just before the
<runtime>
and after the last</location>
that you will have just added to finish wrapping<system.webServer>
.您不一定需要破解果园下的配置。
对于我来说,在类似的情况下,在虚拟目录下创建一个包含以下内容的 web.config 就足够了:
You don't necessarily need to hack the config under orchard.
In a similar situation for me there was enough to create a web.config under the virtual directory with the following content: