我有一张网.指定配置重写规则以将所有流量移动到https.这个规则是有效的,但我不希望在调试时需要SSL.我有很多网站.释放配置转换已经在publish上完成了,所以我决定在其中加入一个重写规则.问题是,重写规则没有像其他设置那样进行转换.这里是网络.配置设置:

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true"/>

    <rewrite></rewrite>
</system.webServer>

这就是正在进行的转变:

  <system.webServer>
<rewrite>
  <rules>
    <rule name="Redirect HTTP to HTTPS" stopProcessing="true">
      <match url="(.*)"/>
      <conditions>
        <add input="{HTTPS}" pattern="^OFF$"/>
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther"/>
    </rule>
  </rules>
</rewrite></system.webServer>

如果我把重写规则复制到网上.配置它工作正常.有人知道为什么要上网吗.释放配置转换不仅仅适用于这个部分?

推荐答案

只有在需要转换的元素上放置xdt个适当的属性,转换才会发生.try 向发布配置中添加xdt:Transform属性:

<system.webServer xdt:Transform="Replace">
    <!-- the rest of your element goes here -->
</system.webServer>

这将告诉转换引擎,Web.config中的整个system.webServer元素需要替换为Web.Release.config中的一个.

The transformation engine will silently ignore any elements that do not have 100 attributes.

必须链接到MSDN.

Asp.net相关问答推荐

是否可以发布 ASP.NET 5 应用程序以使目标机器不需要安装 DNX?

如何将 JQuery 与母版页一起使用?

在哪里可以记录 ASP.NET Core 应用程序的启动/停止/错误事件?

ASP.NET Web 应用程序 (.NET Framework) 与 ASP.NET Core Web 应用程序 (.NET Framework) 之间的差异

asp.net:与其中的用户控件相比,控件/页面的页面生命周期顺序是什么?

如何从网页 (asp.net) 启动 EXE

ASP.NET MVC 中的 ASP.NET AJAX 与 jQuery

发布发布事件

如何在新选项卡中打开 asp:HyperLink.NavigateUrl

在 asp.net 中将 JSON 转换为 .Net 对象时出错

使 Web.config 转换在本地工作

使用 Ninject OWIN 中间件在 OWIN 启动中注入 UserStore

如何在 ASP.NET MVC 中设置时区?

如何将 LINQ 左外连接限制为一行

如何在 ASP.NET 中通过 LAN 访问您的网站

SQLServer 与 StateServer 的 ASP.NET 会话状态性能

如何将我的 DDD 模型中的用户与身份验证用户集成?

ASP.NET - 从静态方法/静态类访问会话?

LinkBut​​ton 向 OnClick 后面的代码发送值

ASP.NET 核心,更改未经授权的默认重定向