Web.config URL 重写 - HTTPS 和非 WWW

2024-01-18

我需要两者兼而有之https and non-www重写,同时也不对域进行硬编码,因为我们有很多服务器。这需要在web.config,不在IIS.

我读过很多文章:

  • http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-configuration-reference http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-configuration-reference
  • http://madskristensen.net/post/url-rewrite-and-the-www-subdomain http://madskristensen.net/post/url-rewrite-and-the-www-subdomain
  • 如何设置asp.net web.config将http重写为https并将www重写为非www https://stackoverflow.com/questions/29597716/how-to-set-asp-net-web-config-rewrite-http-to-https-and-www-to-non-www

The https重写作品,non-www才不是。

    <rule name="Redirect to HTTPS" stopProcessing="true">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTPS}" pattern="^OFF$" />
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
    </rule>
    <rule name="Remove WWW" patternSyntax="Wildcard" stopProcessing="true">
      <match url="*" />
      <conditions>
        <!--<add input="{CACHE_URL}" pattern="*://www.*" />-->
        <!--<add input="{HTTP_HOST}" pattern="*://www.*" />-->
        <add input="{HTTP_HOST}" pattern="^.*www.*" />
      </conditions>
      <action type="Redirect" url="https://{SERVER_NAME}/{R:1}" redirectType="Permanent" />
      // i've also tried
      // url="{C:2}/{R:1}"
      // url="{C:1}/{C:2}"
    </rule>

我测试了正则表达式^.*www.*在正则表达式测试器上,它匹配www.testing.com但不是testing.com- 所以我假设该模式会捕获它。

我需要重定向的 URL:

  • 测试.com --->https://testing.com https://testing.com
  • www.testing.com --->https://testing.com https://testing.com
  • www.testing.com/xyz/ --->https://testing.com/xyz/ https://testing.com/xyz/

是我自己的问题 - 没有 DNSwww,因此重定向不会自行解析。

使用的代码:

    <rule name="Redirect to HTTPS" stopProcessing="true">
      <match url="(.*)"/>
      <conditions>
        <add input="{HTTPS}" pattern="^OFF$"/>
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent"/>
    </rule>
    <rule name="Remove WWW" patternSyntax="Wildcard" stopProcessing="true">
      <match url="*" />
      <conditions>
        <add input="{CACHE_URL}" pattern="*://www.*" />
      </conditions>
      <action type="Redirect" url="{C:1}://{C:2}" redirectType="Permanent" />
    </rule>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Web.config URL 重写 - HTTPS 和非 WWW 的相关文章

  • 使用正则表达式正确替换缩写及其扩展

    我需要更换 HYD 和 HYD 带液压 但正如你所见 HYD 没有得到转换 我究竟做错了什么 console log HYD bHYD b gi test HYD OK console log HYD CYLINDER bHYD b gi
  • 重定向 url 的正则表达式

    是否有一个正则表达式可以匹配这些 url 重定向情况 我已经尝试了几个小时了 我得到的最接近的是 c p 但它不匹配 p or c https regex101 com r ezb0jX 1 https regex101 com r ezb
  • 如何使用斯坦福TokensRegex?

    我正在尝试使用斯坦福大学TokensRegex 但是 我在匹配器行中遇到错误 请参阅注释 它说 请尽力帮助我 下面是我的代码 String file A store has many branches A manager may manag
  • 正则表达式会减慢程序速度

    我正在尝试创建一个程序来解析游戏聊天日志中的数据 到目前为止 我已经设法让程序运行并解析我想要的数据 但我的问题是程序变得越来越慢 目前解析 10MB 文本文件需要 5 秒 我注意到如果我将 RegexOptions Compiled 添加
  • Java:正则表达式,其中每个字符出现0-1次

    Problem 匹配正则表达式的每个字符最多出现一次的单词 该单词必须具有一定的大小 例如 2 5 单词中必须有一个特定的字符 比方说字符 e 我有什么 word matches abcde 2 5 这将匹配字符 a b c d 和 e 出
  • 使用正则表达式抓取文本正文,排除特定条件

    我正在使用 Python 正则表达式来获取已解析电子邮件的正文 该正文可能不包含任何内容 也可能看起来像这样 一些连贯的句子 拉尔斯克法 ljkd 其他的东西 几行电子邮件签名等等 等等等等等等 我想要电子邮件正文中的所有内容 不包括签名行
  • ASP.NET 项目在移动到另一台计算机时抛出 HTTP 错误 500.19

    我将一个 3 层 ASP NET 项目从运行 Visual Studio 2010 的系统复制到也运行 Visual Studio 2010 的系统 当我右键单击并选择浏览器中位于 UI 层下的文件夹内的文件上的视图时 我得到错误 HTTP
  • 无法使用 dataformatstring 格式化日期时间

    由于某种原因 我无法在网格视图中格式化日期文本
  • 如何在登录名控件中显示用户名

    我有一个母版页 其中包含基于母版页的所有后续页面上显示的登录视图内容 我有一个用户名控件也嵌套在登录视图中 用于在用户登录时显示用户名 母版页中登录视图的代码显示如下 div class loginView div
  • ASP.net MVC 项目无法在 IIS 上编译

    我以前只是将 ASP NET 网站上传到实时服务器 IIS 会自动编译它们 但是 当我对 asp net MVC 项目执行相同操作时 我只是收到错误 并且我需要在上传项目之前发布 构建 项目 注意1 我使用的是VWD 2008 Expres
  • 至少 6 个字符正则表达式 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在寻找至少检查 6 个字符的正则
  • 仅在大括号外的空格上分割字符串

    我是正则表达式新手 我需要一些帮助 我阅读了一些与此问题类似的主题 但我不知道如何解决它 我需要在不在一对大括号内的每个空格上分割一个字符串 大括号外的连续空格应被视为单个空格 TEST test test test test test t
  • 用于验证 IIS 设置的 Powershell 脚本

    是否可以使用 Power Shell 脚本获取 IIS 设置 我希望使用脚本获取 检查以下信息 检查 Windows 身份验证提供程序是否正确列出 协商 NTLM 检查是否启用了 Windows 身份验证 Windows 身份验证高级设置
  • Microsoft.Extensions.Caching.Redis 选择与 db0 不同的数据库

    一个关于了解使用哪个redis数据库以及如何配置它的问题 我有一个默认值ASP NET Core Web 应用程序和默认配置的本地redis服务器 含15个数据库 通过包管理控制台我已经安装了 Install Package Microso
  • 将上部字符转换为下部字符,将下部字符转换为上部字符(反之亦然)[重复]

    这个问题在这里已经有答案了 我需要将某些字符串中的所有较低字符转换为较高字符 并将所有较高字符转换为较低字符 例如 var testString heLLoWorld 应该 HEllOwORLD 转换后 在不保存临时字符串的情况下实现此目的
  • 为什么静态方法不能用作 ASMX Web 服务中的 Web 服务操作?

    我只是想了解为什么我不能在 Web 服务中使用静态 Web 方法 为什么会受到限制 有人可以给我对此进行简洁的解释吗 答案是 因为你不能 它不是这样设计的 其设计是 将创建 Web 服务类的实例 然后调用实例方法 我只能猜测微软为什么这样设
  • REgex从oracle中的字符串中获取数字

    我有以下格式的字符串 阿克拉姆 88 jamesstree 20140418 阿克兰 8 约翰街 20140418 阿克兰 888 johnstreet 20140418 现在我只想检索 88 8 和 888 值 我为此编写了以下查询 SU
  • 检查给定字符串是否等于给定字符串集中的至少一个字符串的有效方法

    给定一组字符串 比如说 String1 String2 StringN C 中确定最有效的方法是什么 返回true or false 是否给定string s匹配上面集合中的任何字符串吗 Boost Regex 可以用于此任务吗 std u
  • 表单身份验证 web.config 设置

    根 web config 文件中的此规范是否正确 我没有在受保护的文件夹中使用子 web config
  • 使用 sed 删除大括号对之间的所有内容

    我有一个看起来像这样的字符串 B F blue master F red f k b f k b K black B F green 我想删除匹配的子字符串 它可能包含也可能不包含相同顺序的其他子字符串 我应该得到 master 作为最终输

随机推荐

  • 在java中将字符串转换为整数的最有效方法

    将 String 对象转换为 Integer 对象的方法有很多种 以下哪一个是最有效的 Integer valueOf Integer parseInt org apache commons beanutils converters Int
  • 删除 PDF 输出中条形周围的空格

    我有一个条形图 gt data c 1 5 3 4 gt barplot data space 0 col gray border 0 在 OS X 上 使用默认驱动程序 Quartz 如下所示 注意如何有no条之间的空间 但是 将图形导出
  • CBPeripheral 存储的 UUID 对于重新连接有效多长时间? [复制]

    这个问题在这里已经有答案了 我一直在使用 Corebluetooth 并且了解到 除了每次想要连接时都要经历扫描外围设备的繁琐过程之外 我还可以存储外围设备的 UUID 并将其与retrievePeripheralsWithIdentifi
  • python中多个数组的相加

    我有许多数组 我希望使用加法将它们广播到单个数组中 我知道可以简单地这样做 a numpy array 1 2 3 b numpy array9 4 5 6 sum a b print sum 5 7 9 但是 我无法像这个简单的示例一样对
  • HashMap get/put 复杂性

    我们习惯说HashMap get put操作是 O 1 然而 这取决于哈希实现 默认的对象哈希实际上是 JVM 堆中的内部地址 我们确信这样的说法就足够好了吗 get put是 O 1 可用内存是另一个问题 据我从 javadocs 了解到
  • 请求中添加请求参数

    我需要在一个kernel event listener在阶段kernel controller为了做某事kernel response 听众 我考虑过添加一个参数 request对象 但是没有找到任何方法或这个 http api symfo
  • Node.js:如何附加到正在运行的进程并使用控制台调试服务器?

    我使用 永远 来运行我的应用程序 我想附加到运行环境来检查我的应用程序 那我能做什么呢 From http nodejs org api debugger html http nodejs org api debugger html 高级用
  • 我可以在会话之外或创建会话之间进行挂钩/回调吗?

    With train and evaluate 可以执行一个计划 根据我传递的规范来训练和评估模型 我可以注册一些钩子EvalSpec https www tensorflow org api docs python tf estimato
  • numpy.genfromtxt 导入元组而不是数组

    我正在尝试学习 Python 和 Numpy 所以请耐心等待 我正在使用 numpy genfromtxt 将 CSV 文件导入到矩阵中 CSV 如下所示 Time min Nm Speed Power Distance Rpm Bpm i
  • Azure Cosmo DB 是否对 45MB 数据库多收费?

    我们使用的 Cosmos DB 是 MongoDB 我们的数据库大小只有 45 MB 所有集合中的文档少于 10 000 个 我们每天运行少量查询和写入 每天少于 3000 个请求 而且我们每晚运行 MongoDB Dump 将整个数据库转
  • VBScript 或 VBA 中的 ISO 周数

    我怎样才能得到ISO 周数 http wikipedia org wiki ISO week dateVBScript 或 VBA 中的某个日期 首先 请注意 报告一周很重要year以及周数 因为日期的年份可能不同 多个 Windows 组
  • iOS 7 中的 UITextView 链接检测

    我有一个UITextView这是通过 Interface Builder 进行管理的 作为数据检测 我检查了 链接 在 iOS 6 中 一切工作正常 链接突出显示并且可以单击 但在 iOS 7 中 所有链接仍然只是纯文本 可编辑和可选择的复
  • 在正则表达式中查找模式的第二次出现

    我的输入是 String t1 test1 testVar varName ns2 test String t2 test2 testVar varName ns2 test defValue String patternString s
  • Ruby 相当于 Python 的 help() 吗?

    当使用交互式 Python 时 我倾向于依赖内置的help 函数告诉我期望和 或返回什么 并打印出任何可能对我有帮助的文档 Ruby 是否有与此功能等效的函数 我正在寻找可以在 irb 中使用的东西 例如 在交互式 Python 中我可以输
  • 使用 pydot 绘制决策树

    我已经训练了一个决定tree Python字典 如下 现在我尝试使用它来绘制它pydot http code google com p pydot 在定义树 pydot 图 的每个节点时 我为其指定一个唯一 且详细 的名称和一个简短的标签
  • 将双精度型/浮点型转换为字符串

    我需要将浮点数转换为十进制 或其他基数 的等效字符串 首先需要按照格式进行转换xE 0 where x是浮点数 我的想法是首先将浮点数截断为临时整数 然后将该整数转换为字符串 然后考虑小数部分 将其乘以10而小数部分不会变成0 将小数部分转
  • 有没有办法将 app/web.config 分成 2 个文件?

    我目前使用 app web config 来存储数据库的连接字符串 这意味着在升级时我们不会触及配置文件来保留这些字符串 然而 我们现在想要迁移到 MVC5 这样做需要在 app web config 中更新所有库定义 我们有一个具有类似配
  • 使用 CanCan 进行上下文感知授权

    我想使用 CanCan 来处理我的权限 我的网站有许多不同的权限级别 其中大多数都是上下文感知的 例如 以下是我的 3 个主要模型中的关系 class User lt ActiveRecord Base has many league re
  • 如何从 PHP 中的 URL 中去掉域名?

    我正在寻找一种方法 或函数 来删除输入到函数中的任何 URL 的 domain ext 部分 域名扩展名可以是任何内容 com co uk nl whatever 输入的 URL 可以是以下任何内容 http www domain com
  • Web.config URL 重写 - HTTPS 和非 WWW

    我需要两者兼而有之https and non www重写 同时也不对域进行硬编码 因为我们有很多服务器 这需要在web config 不在IIS 我读过很多文章 http www iis net learn extensions url r