将所有裸域 URL 重定向到保留 URL 的子域 (www) URL,IIS/ASP.NET 上的一页除外

2023-12-29

实现上述目标的最佳方法是什么?我确实知道它可以在 HttpModule 级别实现。是否可以仅通过 web.config(代码执行更容易、更快)。


通过 web.config 使用 URL 重写模块可以很容易地做到这一点:

<rewrite>
    <rules>
        <clear />
        <rule name="Redirect naked domains to www.domain.com" stopProcessing="true">
            <match url="(.*)" />
            <conditions logicalGrouping="MatchAll">
                <add input="{HTTP_HOST}" negate="true" pattern="^www\." />
                <add input="{REQUEST_URI}" negate="true" pattern="^noredirect/forthis/page\.aspx$" />
                <add input="{REQUEST_URI}" negate="true" pattern="^noredirect/forthis/page-as-well\.aspx$" />
                <add input="{REQUEST_URI}" negate="true" pattern="^noredirect/forthis/page-as-well-too\.aspx$" />
            </conditions>
            <action type="Redirect" url="http://www.{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

或者,如果您确实只有一个不需要重定向的页面,它甚至可以缩短为:

<rewrite>
    <rules>
        <clear />
        <rule name="Redirect naked domains to www.domain.com" stopProcessing="true">
            <match url="^noredirect/forthis/page\.aspx$" negate="true" />
            <conditions logicalGrouping="MatchAll">
                <add input="{HTTP_HOST}" negate="true" pattern="^www\." />
            </conditions>
            <action type="Redirect" url="http://www.{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将所有裸域 URL 重定向到保留 URL 的子域 (www) URL,IIS/ASP.NET 上的一页除外 的相关文章

  • 是否可以从同一网络上的另一台计算机访问 Azure 模拟器?

    我正在运行带有 VS 2010 SP1 和 Windows Azure SDK 1 5 的 Windows 7 x64 我希望能够在连接到同一网络的 iPhone 上调试 Web 应用程序 以缩短调试周期 IIS 正在这台计算机上运行 并且
  • Response.Redirect 并不总是重定向

    我们在一个工作不一致的页面上有一个简单的 Response Redirect IIS 6 0 大多数情况下 它会正确重定向 但我们收到一些用户抱怨 他们没有重定向 而是看到 302 对象移至此处 页面 该页面显示标题信息以及正确的位置 如果
  • IIS 和 ISAPI-WSGI = 非常慢

    我已经使用 IIS 在 IIS 上加载了 2 个 Django 应用程序isapi wsgi http code google com p isapi wsgi 这些都是服务器设置 Windows Server 2003 IIS6 和 SQ
  • 以编程方式设置 IIS 6.0 的服务器绑定

    我正在尝试设置安装程序来注册网站 目前 我已经在 Windows Server 2003 下创建了应用程序池和网站 不幸的是 每当我尝试修改 ServerBindings 属性来设置 IP 地址时 它都会向我抛出异常 我第一次尝试这个是因为
  • Web.config appSettings:复杂值

    Web config 的 appSettings 部分只能存储这样的简单字符串吗
  • “固定请求数”后应用程序池回收

    IIS的应用程序池设置为 固定请求数 后回收有什么影响 假设这个数字是100 第99个人连接到我的网站 那么第100个人来了 就会触发应用程序池回收 这是否意味着会话 1 99 的所有会话信息都将丢失 进程内会话将在应用程序池工作进程重新启
  • 如何从 PowerShell 指定应用程序池身份用户和密码

    我在自动化 Web 应用程序设置和使用应用程序池标识适当配置 IIS 方面遇到了很多困难 我在用 PowerShell 编写的 Web 应用程序部署脚本中执行此操作 我的要求是我需要 PowerShell 脚本将应用程序池身份用户设置为特定
  • 使用 SQL Server 2008 的 IIS 应用程序池身份帐户配置集成安全性

    我的网站有以下配置 两个 Web 前端 例如机器名称 WFE1 和 WFE2 1 SQ 1 个 SQL Server 数据库集群 例如机器名称 DBCluster 所有计算机都位于运行 Windows 2008 R2 Enterprise
  • Web 服务器是否可以向自身发出 HTTPS 请求?

    假设您有两个应用程序 A 和 B 在同一 Web 服务器上运行 您希望应用程序 A 通过 SSL 调用应用程序 B 上的 webService 是否可以使用类似的地址来做到这一点https localhost appsB webServic
  • 从 iPhone 上传图像/音频到服务器无法发送大图像

    我不知道这是我的iPhone代码还是服务器的问题 我正在使用 NSURLConnection 将图像 音频从 iPhone 上传到服务器 如果图像和音频的大小小于 60KB 则可以正常上传 如果超过 60KB 我会从服务器收到 400 Ba
  • IIS 7 规范 URL 重定向

    我想让一个网站的地址中始终包含 www 并通过 IIS 重写强制执行 例如 test com 将变为 www test com 典型的重写规则示例是
  • 对注册表项“全局”的访问被拒绝

    在向 defaultAppPool 用户授予权限时 我收到消息 没有这样的全局用户或组 DefaultAppPool 有人能帮我一下吗 但是 使用命令 net localgroup Performance Monitor Users Def
  • 在 IIS 中运行 Java Web 应用程序

    有人找到了在 IIS 中运行 Java Web 应用程序的方法吗 在我看来 编写一个将 Jetty 或自定义 servlet 容器与 IIS 集成的 ISAPI 插件 这个词正确吗 应该是完全可能的 这样做的好处是 许多优秀的高端 Java
  • 无 Cookie 会话和 IIS7 导致重定向循环

    我有一个使用无 cookie 会话的 ASP NET 网站 当使用以下 url 向站点发出初始请求时 http localhost 站点 http localhost site IE 仅显示标准的 Internet Explorer 无法显
  • 如何跟踪我的 Web 服务抛出的 IIS 500 错误

    我已经部署了新版本的 ASP NET Web 服务 当客户端调用此服务时 IIS 日志文件报告错误代码 500 我自己 测试 可以使用该服务 没有任何错误 我在 ASP NET Web 服务中启用了错误日志记录 但没有记录任何错误 这使我相
  • 致命:Jenkins IIS ID 无效

    我正在尝试设置 Jenkins 从 bitbucket 中提取并构建一个项目 我在 IIS 8 5 Server 2012 r2 上使用它 我已经设置了 Git 和 Bitbucket 插件 我已经建立了一个包含以下内容的项目 Branch
  • ASP.net MVC 项目无法在 IIS 上编译

    我以前只是将 ASP NET 网站上传到实时服务器 IIS 会自动编译它们 但是 当我对 asp net MVC 项目执行相同操作时 我只是收到错误 并且我需要在上传项目之前发布 构建 项目 注意1 我使用的是VWD 2008 Expres
  • ASP.NET MVC 路由 - 向路由添加 .html 扩展名

    我对 MVC 和路由非常陌生 我被要求修改一个应用程序以使用不同的 url 由于我没有经验 这项任务对我来说有点困难 好吧 让我们谈谈一些代码 routes MapRoute CategoryBySeName Route name prod
  • IIS 7.5 托管的 WCF 服务仅针对大型请求抛出 EndpointNotFoundException 和 404

    我有一个 WCF REST 服务托管在 IIS 7 5 Windows 2008 R2 上 该服务按预期工作 除非客户端尝试发送大于 25 MB 的消息 具体来说 当发送大小约为 25 MB 的消息时 服务会正确接收并处理消息 而当发送大小
  • Coldfusion 10、IIS 7.5 - 即使文件存在也收到 404

    即使该页面存在于磁盘上 我也收到 404 错误 我已经运行了 Web 服务器配置工具并重新启动了几次 cfm 文件的处理程序映射 配置工具似乎有效 C ColdFusion10 config wsconfig 1 isapi redirec

随机推荐

  • 将 void*(*)(void*) 类型转换为 void(*)(void)

    作为作业的一部分 我试图创建一个像 pthreads 这样的用户级线程库 为了处理线程之间的上下文切换 我使用 swapcontext 函数 在使用它之前 我必须使用 makecontext 函数创建一个上下文 makecontext 需要
  • 使用 Python 将文件夹上传到 Google Cloud Storage?

    我找到了 upload from file 和 upload from filename 但是是否有函数或方法可以通过 Python 将整个文件夹上传到 Cloud Storage 这对我有用 将所有内容从本地目录复制到谷歌云存储中的特定存
  • 从 python 中的单独文件导入列表变量

    脚本 py list one two three python script here 我的列表变得非常长 大约 400 行 有没有办法让变量list在一个单独的 py 文件中并导入它 或者我应该有单独的文件并通过迭代创建一个列表 list
  • MySQL 使用另一个表中的列名

    我想知道是否可以返回一个结果集 其列名存储在单独的表中 这是可能的还是我需要一个带有变量的存储过程 请参阅 mysql dump 的链接和所需结果集的描述 http pastie org 584865 http pastie org 584
  • RabbitMQ:在直接交换中创建动态队列

    我是 RabbitMQ 的新手 我刚刚浏览了 Rabbitmq 文档 路由 我对 Exchange 与路由键之间的关系感到非常困惑 我的要求是 我想动态创建多个队列 请参考下图 前任 假设如果生产者为消费者 c3 创建消息 那么它应该转到
  • 使用 JAXB 从 XML 字符串创建对象

    如何使用下面的代码来解组 XML 字符串并将其映射到下面的 JAXB 对象 JAXBContext jaxbContext JAXBContext newInstance Person class Unmarshaller unmarsha
  • 如何记住自定义 React hook

    const useSomeHook number gt const newNumber setNewNumber useState 0 useEffect gt setNewNumber number 1 number const Some
  • .NET Core 6 - 如何在 Program.cs 中设置 ILogger(log4net) 进行依赖注入

    我已将我的新项目移至 NET核心6但显然 Program 和 Startup cs 文件发生了根本性的变化 我想在每个具有依赖注入的控制器中使用 log4net 但我找不到任何有关登录的教程 NET 核心 6 我尝试过的 builder S
  • 需要为USB外围设备编写驱动程序吗?

    我正在设计一个 USB 外设 它偶尔会连接到 Windows PC 并在每个方向上传输几 KB 的数据 将有一个自定义 PC 应用程序使用专有协议 即 USB 有效负载 来控制数据传输 我在下面的链接中看到微软描述的how为 USB 设备编
  • 使用 Jest/Enzyme 进行测试期间检测 React 中的合成点击

    我正在使用 React 构建一个应用程序 我隐藏了一个文件输入元素
  • 在 R 中为多个因子列创建频率表

    我是 R 新手 我正在为我的工作编写一份关于常用函数 特性语法的单独手册 我的示例数据框如下 x sample lt structure list Q9 A structure c 5L 3L 5L 3L 5L 3L 1L 5L 5L 5L
  • Seaborn diverging_palette 具有 2 种以上色调

    我试图使用 Seaborn 绘制相关矩阵 但我想用红色突出显示正极值和负极值 用绿色突出显示中间值 在我能找到的所有示例中 相关矩阵都是用 diverging palette 绘制的 但这仅允许您为光谱的末端选择两种颜色 并为中间选择浅色
  • 第一次运行 Grunt 构建时出错

    我使用 Yeoman 创建了一个 angularJS 项目 使用预览应用程序grunt serve效果很好 服务器启动 我可以成功浏览我的页面 执行时grunt build我正进入 状态 Running cdnify dist cdnify
  • 如何使用 'keyup' 事件将小写字符更改为大写?

    我的目标是使用 jQuery 事件 keyup http api jquery com keyup 将输入的小写字符转换为大写 我怎样才能实现这个目标 简单的 JavaScript var input document getElement
  • 何时使用 ADOX 代替 ADCX?

    文中提到的唯一区别是Intel指令集参考 https software intel com sites default files managed a4 60 325383 sdm vol 2abcd pdf是使用溢出标志而不是进位标志 什
  • android.view.WindowLeaked 异常

    我正在从 url 读取 xml 数据 当它处于纵向模式时效果很好 但我想将其更改为横向模式 但它得到 android view WindowLeaked 异常 请在这件事上给予我帮助 提前致谢 这是我的代码 package com eisu
  • 如何将附加参数传递给自定义 python 排序函数

    背景 我想知道如何实现高级排序函数 我可以将其作为元组元素传递给 python 已排序 函数的关键参数 这是一个描述我想做的事情的例子 class Book def init self name author language cost s
  • React js 中的 Razorpay 安装

    我想为我的react js 应用程序集成支付网关 razorpay 有谁知道如何整合它 这是代码 我在其中收到错误 let rzp new Razorpay options rzp open 错误是 TypeError rzp open i
  • R - 应用函数 - 停用矩阵转换

    是否可以停用 apply 的 as matrix 转换 在 R 文档和之前的堆栈溢出帖子中 我找不到任何标志来解决这个问题 示例 使用 apply 从矩阵中选择多个子矩阵 问题 apply 函数自动将结果转换为矩阵 这导致一个包含所有结果的
  • 将所有裸域 URL 重定向到保留 URL 的子域 (www) URL,IIS/ASP.NET 上的一页除外

    实现上述目标的最佳方法是什么 我确实知道它可以在 HttpModule 级别实现 是否可以仅通过 web config 代码执行更容易 更快 通过 web config 使用 URL 重写模块可以很容易地做到这一点