网页配置。使用规则元素将所有流量重定向到 www.my...。

2024-04-26

我有一个 web.config 文件,它自动将流量发送到 HTTPS。但是,如果有人进入 MyDomain.com 那么它将转到https://mydomain.com https://mydomain.com如果有人输入 www.mydomain.com 那么它将转到https://www.mydomain.com https://www.mydomain.com.

我希望所有流量都转到https://www.mydomain.com https://www.mydomain.com。使用 web.config 的规则元素可以实现这一点吗?我的文件目前如下所示:

<rewrite>
  <rules>
      <rule name="HTTP to HTTPS redirect" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
              <add input="{HTTPS}" pattern="off" ignoreCase="true" />
          </conditions>
          <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
      </rule>
  </rules>

The Rule

<rule name="Redirect to www subdomain">

  <match url=".*" />

  <conditions logicalGrouping="MatchAll">
    <add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" negate="true" />
    <add input="{SERVER_PROTOCOL}" pattern="^(.*)(/.*)?$"/>
  </conditions>

  <action type="Redirect" url="{C:1}://www.{HTTP_HOST}/{R:0}" redirectType="Permanent"/>

</rule>

规则解释

  • <match />将规则限制为仅请求其路径和查询字符串与给定模式匹配的请求。在我们的例子中,我们希望匹配所有路径和查询字符串,因为我们将根据域进行重定向。

  • <conditions />将规则进一步限制为仅满足给定条件的匹配请求。第一个条件排除域已以“www”开头的请求。第二个条件仅适用于 {C:1} 反向引用,它不应该过滤掉任何内容。

  • <action>前面加上“www”。到域,然后重定向。

变量

  • {R:0}是对完整匹配的反向引用<match \>标签。反向引用应该只包含路径和查询字符串,因为这就是全部<match \>曾经比赛过。

  • {C:1}是从最终条件到第一个匹配组的反向引用。这应该包含 {SERVER_PROTOCOL} 变量中直到“/”的所有内容。

  • {HTTP_HOST}是包含请求的域的服务器变量。 (看here http://msdn.microsoft.com/en-us/library/ms524602%28v=vs.90%29.aspx以获得完整列表。)

  • {SERVER_PROTOCOL}另一个服务器变量。其格式应为“{协议}/{版本号}”。

其他选项

  • <action redirectType>可以是临时的、已找到的或查看其他。 (看here http://en.wikipedia.org/wiki/URL_redirection#HTTP_status_codes_3xx了解更多信息。)

  • <conditions logicalGrouping>可以是 MatchAll 或 MatchAny。

结论

更完整的解释请参见here http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-configuration-reference.

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

网页配置。使用规则元素将所有流量重定向到 www.my...。 的相关文章

  • 基于 ASP.NET 的工作流引擎

    我正在为一个新应用程序制定设计规范 该应用程序将在很大程度上由工作流程驱动 在我重新发明轮子之前 是否已经有一个像样的轻量级工作流引擎可以插入 ASP NET 中 基本上 我正在寻找能够在一组定义的工作流程页面中移动 同时自动处理状态管理的
  • 如何修复 Delphi Prism ASP.NET 错误:“解析器错误消息:‘Oxygene’不是受支持的语言”

    我在 Delphi Prism 中编写了一个 ASP NET Web 应用程序 不是网站 在我的开发机器上一切正常 但是当我将其安装在测试服务器上时 出现以下错误 Server Error in MyApp Application Pars
  • 为 Json 对象生成的 C# 类的优点和缺点

    我有示例 Json 我需要将其序列化为 C 对象 我决定为此目的利用杠杆Json Net http json codeplex com 图书馆 我还需要有 C 类来表示这个 Json 可以使用创建类Json C 类生成器 http json
  • 在中止部署期间,某些实例可能已部署新的应用程序版本

    我正在尝试将 ASP NET 应用程序部署到 AWS 当我按下部署按钮时出现错误 在中止部署期间 某些实例可能已部署新的应用程序版本 为确保所有实例运行相同版本 请重新部署适当的应用程序版本 我不知道我在哪里犯了错误以及出了什么问题 任何意
  • Dapper MySQL 返回值

    我在 ASP net Identity 项目中使用 dapper 和 MySql 时遇到问题 我想将用户插入到表 users 中 并希望从这次插入中返回自动生成的 id 但我收到语法错误 我不知道为什么 这是我的方法插入代码 public
  • 不包含 asp.net 页面中按钮单击事件的定义错误

    我在 edit aspx 页面中有一个按钮 代码如下
  • asp:GridView 控件的 EditTemplate 属性

    我有一个 asp GridView 其中有两列 在一列中我想显示标签 但是当我单击 sdit 按钮时 我想在该特定列中显示一个下拉列表 我创建了如下网格视图
  • JavaScript:发送 POST,重定向到响应

    我有一个带有 onclick 的图像 当单击事件触发时 我想发送 HTTP POST 并将 window location 重定向到 POST 的响应 我怎样才能做到这一点 只需将按钮绑定到表单元素的提交方法 重定向就会自然发生
  • ASP.Net-Core 中的自定义身份验证

    我正在开发一个需要与现有用户数据库集成的网络应用程序 我仍然想使用 Authorize 属性 但我不想使用身份框架 如果我确实想使用身份框架 我会在startup cs文件中添加类似的内容 services AddIdentity
  • Asp.Net Web 服务:我想返回错误 403 禁止

    我有一个用 c asp net 编程的网络服务 WebService Namespace http example com WebServiceBinding ConformsTo WsiProfiles BasicProfile1 1 S
  • 为什么 async wait 在 IIS 上不起作用,但在 IIS Express 上起作用

    我不明白为什么 async await 不能解决 IIS 线程的问题 我发现当我使用 IIS 时 我们对 IIS 线程的限制等于 10 而对 IIS Express 则没有限制 我在 HomeController 中添加了 2 个方法来重复
  • 通过 Plesk 面板托管 SQL Server 数据库时出现问题

    首先 我提供有关我的产品订阅的信息 我还订阅了一年的 Plesk Windows 托管 终极 订阅 此外我还订阅了一年的 SiteLock 我正在尝试使用 SQL Server 数据库托管 ASP NET 网站 但我很难做到这一点 首先 我
  • Asp net Core 获取用户Windows用户名

    在ASP net CORE mvc中构建内联网 我需要获取当前用户的Windows用户名进行登录 我不需要使用Windows身份验证自动登录用户 我已经有一个自定义登录控制器来做到这一点 我只需要他的用户名 它在本地工作正常 但在 IIS
  • HTTP 错误 500.19 - 无法读取配置文件

    在我的一个 ASP NET 应用程序中 由于下面显示的错误 我突然无法在 Visual Studio 2013 中运行它 它似乎正在尝试从甚至不存在的路径打开 web config 我的所有项目代码 包括 web config 都位于 C
  • 从网络位置读取文件

    我在网络驱动器上共享的文件夹中有一堆文件 我正在尝试将这些文件访问到我的代码中 但它给出了一个错误 用户代码未处理 System IO DirectoryNotFoundException Fname txtwbs Text Directo
  • 回调和部分回发有什么区别?

    有区别吗 或者这些术语是同义词吗 抱歉 如果之前有人问过这个问题 我只能找到a之间的区别full回发和回调 我已经知道完整回发有何不同 在使用 ASP Net 2 0 时 如果这很重要的话 顺便问一下 这重要吗 或者这些术语对于任何基于 W
  • 为什么 StringValidator 对于自定义配置部分总是失败?

    我通过继承在 C 类库中创建了一个自定义配置部分ConfigurationSection 我在 Web 应用程序 也包括 C ASP NET 中引用了类库 填写了适当的属性 一切都运行良好 当我开始添加验证器时 问题就开始了 例如 这个属性
  • ASP.NET:WebService 类实例化的频率是多少?如何在其中制作一个持久对象?

    一个简单的问题 但我在谷歌上找不到答案 Web 服务类实例化的频率是多少 是每次调用 Web 服务一次 还是每次 任意时间段 一次 还是每次其他事情一次 EDIT 我本来希望这个班级能长久地生活下去 但事实似乎并非如此 关键是 我有一个用于
  • 如何在 ASP.NET 5/vNext/Core 中使用 Elmah?

    我对如何在 ASP NET 5 MVC 6 项目中使用 Elmah 有点困惑 我从 nuget 得到了包 它添加了 Elmah Mvc 2 1 2 到project json 中的依赖项 我不知道从这里到哪里去 以前 nuget 会向 we
  • ASP.NET 搜索表单 - 动态 Linq to SQL?

    我有一个搜索表单 允许用户以多种不同的方式搜索多个不同的字段 这是我的代码的示例 var claims from c in db Claims select c switch ddlSearchField Text case StartsW

随机推荐

  • 如果ViewData有ViewBag,为什么TempData没有TempBag?

    为什么 TempData 没有像 ViewData 那样的动态字典对象 之所以没有 是因为没有人费心去实施它 但这是很容易做到的 例如 作为扩展方法 不幸的是 NET 尚不支持扩展属性 因此您无法完全获得您可能希望的语法 public cl
  • 重新格式化双向条形图以匹配示例

    我生成了这个条形图 使用此代码 s level margins fluid margins vp Volume 0 0 1L 0 718 0 690 2L 0 501 0 808 5L 0 181 0 920 MAP 0 0 64 0 43
  • C 中每个块复制一个文件块

    我试图将文件分成 x 个大小为 y 以字节为单位 的块 以便我可以单独复制每个块 我怎样才能做到这一点 尝试使用fread http www manpagez com man 3 fread char buffer ysize fread
  • 使用数据表中的“selectAll”按钮搜索后选择所有可见行

    我已经初始化了一个具有 id 的数据表example像这样 var table example DataTable aaSorting 4 asc select true dom Bfrtip buttons excelHtml5 exte
  • 当更新可用时,手动安装的 apk(不是从 Play 商店)会收到通知吗?

    我想在平板电脑上安装 apk 知道怎么做 我的平板电脑会收到来自 Play 商店的通知吗 该更新已在 Play 商店中准备就绪 我应该安装它吗 仅当满足以下两个条件时 您才会收到更新 在 Google Play 已安装的应用程序 选项卡中看
  • Flash 影片的 Div Z-Index 问题

    我有两个简单的 HTML div 一个包含 flash 电影 另一个 div 包含简单文本 现在我的问题是我必须将文本 div 放到 flash 电影 div 上 我正在做的是将两个 div 的位置设置为 CSS 中的 Absolute 并
  • 如何为 SonarQube 扫描配置 Jenkins 管道

    我正在尝试为我的项目配置詹金斯管道 但这里缺少一些东西 如果有人可以指出我做错了什么 下面是管道脚本 node stage SonarQube analysis requires SonarQube Scanner 2 8 def scan
  • 协议缓冲区和 UTF-8

    编码方案 多操作系统和 Endian nes 的历史导致了对所有形式的字符串数据 即所有字母表 进行编码方面的混乱 因此 协议缓冲区仅处理其字符串类型中的 ASCII 或 UTF 8 并且我看不到任何接受 C wstring 的多态重载 那
  • 出现错误:User 类型的对象在 django python 中不可 JSON 序列化

    我是 django python 的新手 当我尝试从 3 个表获取数据时 出现错误Object of type User is not JSON serializable 任何人都可以帮我解释为什么我会收到此错误吗 在这里我添加了我的vie
  • 关于指针的c/c++问题(双指针)

    自从我学习 c 和 c 课程以来已经有一段时间了 我对 c 指针很好奇 我将在我的示例中使用 new 关键字 即使我知道 malloc 是 C 方式 我总是记得我的老师总是强迫我们使用指针 她永远不会接受数组的作业 她向我们证明 当您使用指
  • 使用页内 JSON 初始化 AngularJS $resource

    我正在使用 AngularJS 的 resource 来获取和更新对象 为了节省页面加载时的往返 我将 JSON 对象放在页面上的变量中 如何使用此数据初始化 resource 而不是调用 get 您可以使用new创建使用以下命令创建的资源
  • 在 asp.net mvc url 中格式化查询字符串的最佳方法?

    我注意到 如果您通过 asp net mvc 发送查询字符串路由值 您最终会将所有空格编码为 20 因为我希望将空格转换为 号 所以覆盖此格式的最佳方法是什么 我正在考虑也许使用自定义 Route 对象或派生自 IRouteHandler
  • 设计具有多个 id 的 RESTful 服务

    我正在设计一个 RESTful 服务 就是列出一组数据 主要问题是该集合没有合理的单一标识符 在系统的知识范围内也不能轻易地计算出特定的集合 因此 似乎不可能有 GET items identifier 服务 我确实有所请求的每个元素的 i
  • 融合表查询

    我有一个非常大的融合表 现在 我想根据用户需求进行查询 我的用户界面应该有一个下拉框来选择列的名称 另一个下拉框用于选择查询条件 gt user1225902 您需要在页面加载期间调用onLoad函数 我有同样的问题
  • 休息。球衣。如何以编程方式选择返回类型:JSON 或 XML?

    我有两个问题 1 我可以创建吗one类 使用 JAXB 注释对其进行注释 用于 XML 支持 并在中声明web xml
  • 为什么 Visual Studio 2008 中删除了在新 ATL 项目中使用属性的选项?

    这是来自 MSDN 评论的文本 根据 ATL Internals 2ed 一书 属性的使用已被弃用 不应在新的 ATL 项目中使用 但为什么 在 ATL 中 这些属性是编译器的技巧 它们不像 C 中的属性那样是平台的核心部分 它们的调试也比
  • 如何循环线程句柄并在完成后加入另一个循环?

    我有一个程序 它在循环中创建线程 并检查它们是否已完成并清理它们 如果已完成 请参阅下面的最小示例 use std thread fn main let mut v Vec
  • 使用比较器对映射进行排序

    我想Comparator实现排序TreeMap按照顺序 final String sequence People Object Environment Message Service Comparator
  • AT 命令 PHP

    我想使用 GSM 调制解调器从 php 发送消息 我已经配置了调制解调器并使用超级终端对其进行了测试 现在我想使用php执行AT命令 是否有可用的开源库或其他解决方案 由于我的 php 应用程序托管在 Apache Web 服务器上 因此我
  • 网页配置。使用规则元素将所有流量重定向到 www.my...。

    我有一个 web config 文件 它自动将流量发送到 HTTPS 但是 如果有人进入 MyDomain com 那么它将转到https mydomain com https mydomain com如果有人输入 www mydomain