MVC5 中的 WWWROOT

2023-12-21

如何使用静态文件在 ASP.NET MVC5 中实现相同的行为,就像在 aspnet-core 上一样app.UseDefaultFiles(); app.UseStaticFiles();?

我的意思是通过根目录从某个文件夹提供静态文件,例如/wwwroot/some.html必须打开于mysite.com/some.html, /wwwroot/img/test.jpg on mysite.com/img/test.jpg etc.

Update: 我创造了wwwroot文件夹并将以下规则添加到web.config:

<system.webServer>
    <rewrite>
      <rules>
        <rule name="Rewrite Static" stopProcessing="true">
          <match url="^(?!(wwwroot/|api/))(.*)$" ignoreCase="true"></match>
          <action type="Rewrite" url="/wwwroot/{R:1}" />
        </rule>
      </rules>

所以 IIS 必须返回文件wwwroot除非呼叫转至/api/something,但我总是得到index.html in wwwroot文件夹,绝不是其他文件。 Api 的 URL 运行良好。
我做错了什么?


一切都以这种方式进行:

<system.webServer>
    <rewrite>
      <rules>
        <rule name="Rewrite Static" stopProcessing="true">
          <match url="^((?!(wwwroot\/|api\/))(.*))$" ignoreCase="true"></match>
          <action type="Rewrite" url="/wwwroot/{R:1}" />
        </rule>
      </rules>
    </rewrite>
    <handlers>
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <remove name="OPTIONSVerbHandler" />
      <remove name="TRACEVerbHandler" />
      <remove name="StaticFile"/>
      <add
                name="StaticFile"
                path="*" verb="*"
                modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule"
                resourceType="Either"
                requireAccess="Read" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
    </handlers>
    <staticContent>
      <mimeMap fileExtension=".*" mimeType="application/octet-stream" />
    </staticContent>
    <modules>
      <remove name="TelemetryCorrelationHttpModule" />
      <add name="TelemetryCorrelationHttpModule" type="Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule, Microsoft.AspNet.TelemetryCorrelation" preCondition="integratedMode,managedHandler" />
    </modules>
  </system.webServer>

别忘了安装重写模块 https://www.iis.net/downloads/microsoft/url-rewrite.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC5 中的 WWWROOT 的相关文章

随机推荐

  • 有没有办法在 C++ 中延迟初始化成员变量(类)?

    我有 Java 背景 我有以下程序 include
  • 在 Java 中强制释放大缓存对象

    我使用一个大型 数百万 条目哈希图来缓存算法所需的值 键是两个对象的组合作为一个长 由于它不断增长 因为映射中的键发生变化 因此不再需要旧的键 因此能够强制擦除其中包含的所有数据并在执行期间重新开始会很好 有没有一种方法可以有效地做到这一点
  • 是否有元组的 zipWith 类似物?

    初步说明 这是SeanD 删除的问题 https stackoverflow com q 50020370 2751851 就像有一样zipWith对于列表 GHCi gt zipWith 1 2 3 4 4 6 感觉应该有一些类似于元组的
  • 如何在 lambda 中进行 sql 连接?

    有时 我会偶然发现这个问题 我使用了 lambda 连接的子集 鉴于我可以使用任何 LINQ 扩展 我应该如何实现以下连接 为了简单起见 表定义为 CREATE TABLE dbo TableA Key INT IDENTITY 1 1 N
  • 可可中的客户端到客户端消息传递?

    嗯 现在我尝试在两个客户端之间而不是客户端到服务器之间进行消息传递 因此 如果我没记错的话 我们无法单独启动服务 但如何查看是单独设置还是两者都连接到同一服务 我的启动服务的代码 void startService Start listen
  • 解析错误:语法错误,意外的 T_STRING 59 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 请修复这段
  • 使用 pywin32 获取 GUIThreadInfo()

    我正在尝试遵循这个答案 https stackoverflow com a 11901591 5510469我已经到了 a 应该打电话的地步 GetGUIThreadInfo 但我找不到pywin32 文档 http timgolden m
  • 读取解决方案 sln 的所有 csproj 项目的引用列表(以编程方式)

    我有解决方案 sln 其中有许多 csproj 项目 有人知道如何以编程方式读取 VS2008 的 sln 文件中所有 csproj 项目的引用列表吗 csproj 文件只是 XML 文件 为此 您可以使用 NET 框架中的 XDocume
  • setTimeout() 的 JavaScript 执行顺序

    假设我有以下代码 function testA setTimeout testB 1000 doLong function testB doSomething function doLong takes a few seconds to d
  • CMP 证书请求

    我使用下面的代码将 CMP 证书请求发送到端点 public static void main String args try System out println In final BigInteger certReqId BigInte
  • 如何使用flexbox调整div的宽度以适应内容

    我想适应 flexrowdiv 的宽度到内容 但我无法使用 flex 设置它 HTML div class fullwidth div class sidebar p sidebar p p sidebar p p sidebar p p
  • Android 使用数据绑定库动态包含布局

    我正在使用带有数据绑定库的 Android 应用程序的 MVVM 框架 我有一些可重用的组件 应该包含所有活动 FE工具栏 菜单 浮动操作按钮 我想创建一个通用活动 它将实现所有这些可重用功能 然后每个活动类都将从这个通用活动继承 我还有
  • 如何获得工具栏上的“向上”按钮?

    这是一个简短的问题 我试图强制操作栏 由工具栏使用 使用 LTR 对齐方式 我已经成功地使布局本身使用 LTR 但没有使用 向上 按钮 正如我所做的那样 here https stackoverflow com q 22602453 878
  • 如何在 Apache 2.4.18 服务器中实现没有 ssl 的 http2

    我制作了一个使用 HTTP 2 协议的网站 该网站在 Apache 2 4 18 HTTP 服务器上运行 目前我已经使网站启用了 SSL 因为我在某处读到 HTTP 2 默认情况下需要 SSL 我可能不需要确保我的网站安全 所以我不想花钱购
  • Javascript 设置左侧样式不起作用

    xpos xpos 1 document getElementById img style left xpos 我无法将 xpos 值分配给 JavaScript 中的 left 属性 尝试向其中添加一个单位 否则 由于 CSS 无效 浏览
  • Flutter中如何根据AppBar内容在运行时动态改变AppBar高度?

    我正在尝试实施一个颤动标记 https flutterawesome com a textfield flutter package with tagging functionality 在 的里面AppBar 我设法添加了标记TextFi
  • Git 恢复已发布的提交,同时保持未来合并的能力?

    我们有两个同时存在的分支 如下所示 A B C D H gt Branch A E F G gt Branch B 问题是我们决定暂时不想将分支 B 合并到分支 A 这是一个错误 因此 我们 在分支 A 上 恢复了合并提交 git chec
  • Qt4 QSettings保存枚举值(例如Qt::CheckState)

    我想在 QSetting 中保存 QCheckBok 的状态 我可以将其值转换为 int 但也许存在更简单和正确的方法来做到这一点 这是我的代码 QSetting setting Qt CheckState checkState check
  • 递归算法的时间复杂度

    如何计算递归算法的时间复杂度 int pow1 int x int n if n 0 return 1 else return x pow1 x n 1 int pow2 int x int n if n 0 return 1 else i
  • MVC5 中的 WWWROOT

    如何使用静态文件在 ASP NET MVC5 中实现相同的行为 就像在 aspnet core 上一样app UseDefaultFiles app UseStaticFiles 我的意思是通过根目录从某个文件夹提供静态文件 例如 wwwr