【问题标题】:Sitecore: how to bypass MVC routing to allow direct access to a file/folder?Sitecore:如何绕过 MVC 路由以允许直接访问文件/文件夹?
【发布时间】:2017-02-02 10:46:24
【问题描述】:

我有一个 Sitecore C# MVC/.Net 4.5 应用程序。 我有一个需要由外部资源访问的 Javascript 文件。

由于它不是任何路由的一部分,如果我尝试直接访问它,即使文件存在,我也会得到 404。

如何允许外部访问此文件?

【问题讨论】:

  • 所以你有一个 javascript 文件,例如可以通过 url 访问,对吗?您想将其添加到您的视图中吗?或者例如你想下载文件?
  • 我目前无法访问它,我得到一个 404 因为 - 我假设 - 没有包含它的路径的路线。我希望能够使用标准 HTTP GET 访问它,在这种情况下将其包含在页面中。
  • 默认情况下,文件由网络服务器提供服务,这个逻辑发生在 ASP.NET 被调用之前。这听起来更像是一个 Web 服务器问题,而不是 MVC 问题——你使用的是什么 Web 服务器?
  • 通常的做法是将其放在/Scripts 下,或者/Content 下。我从未见过这样的失败。
  • 但是,Sitecore 是一个应用程序而不是 Web 服务器,所以我们回到正题。

标签: c# asp.net-mvc sitecore asp.net-mvc-routing


【解决方案1】:

默认情况下,您应该能够访问这些文件。 在这里检查。

Why CSS and JS files bypass Asp.Net MVC routes?

如果没有,那么您可能已经(或某人)更改了 web.config 的“Handlers”部分。

或者添加设置,从 mvc 管道路由所有静态文件。

<modules runAllManagedModulesForAllRequests="true" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-14
    • 2016-11-27
    • 2022-08-24
    相关资源
    最近更新 更多