You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows Server中IIS URL Rewrite子域名地址重写配置求助

IIS URL Rewrite 配置方案(内网Web应用域名重写)

需求场景明确

你需要实现两种重写逻辑,对应不同的规则配置:

  • 场景1:用户访问 http://forkliftinspection.ourcompany.local/inspection.php 时,服务器内部读取 http://webservices.ourcompany.local/ForkliftInspection/inspection.php 的内容(内部重写,用户看不到真实路径)
  • 场景2:用户访问旧地址 http://webservices.ourcompany.local/ForkliftInspection/inspection.php 时,自动跳转到新域名地址(外部重定向,浏览器地址栏会变化)

前置准备

  1. 确保内网DNS服务器或客户端hosts文件中,forkliftinspection.ourcompany.local 已指向部署IIS的Windows Server IP。
  2. 在IIS的 webservices.ourcompany.local 站点上,添加主机头绑定:主机名填 forkliftinspection.ourcompany.local,端口80,IP选择服务器对应网卡IP。

场景1:内部重写规则配置

进入 webservices.ourcompany.local 站点的URL Rewrite模块,添加空白规则:

  • 规则名称:ForkliftInspection_InternalRewrite
  • 匹配URL:
    • 请求路径:Matches the Pattern
    • 使用:正则表达式
    • 模式:^inspection\.php$(仅匹配指定文件;若需匹配该目录下所有PHP文件,可改为 ^(.+)\.php$)
  • 条件(可选):
    • 添加条件:输入 {HTTP_HOST},匹配类型选 Matches the Pattern,模式填 ^forkliftinspection\.ourcompany\.local$(确保仅对新域名的请求生效)
  • 操作设置:
    • 操作类型:Rewrite
    • 重写URL:/ForkliftInspection/{R:0}(如果用匹配所有PHP文件的模式,改为 /ForkliftInspection/{R:1}.php)
    • 勾选「追加查询字符串」和「停止处理后续规则」

场景2:外部重定向规则配置

同样在 webservices.ourcompany.local 站点的URL Rewrite模块添加规则:

  • 规则名称:ForkliftInspection_Redirect
  • 匹配URL:
    • 请求路径:Matches the Pattern
    • 使用:正则表达式
    • 模式:^ForkliftInspection/(inspection\.php)$
  • 条件:
    • 添加条件:输入 {HTTP_HOST},匹配类型选 Matches the Pattern,模式填 ^webservices\.ourcompany\.local$(仅对旧域名的请求生效)
  • 操作设置:
    • 操作类型:Redirect
    • 重定向URL:http://forkliftinspection.ourcompany.local/{R:1}
    • 重定向类型:选 301 Permanent(永久重定向,内网环境也可选用302临时重定向)
    • 勾选「追加查询字符串」和「停止处理后续规则」

原正则的问题分析

你之前用的正则 ([_0-9a-z-]+).([mycompany.local]+)/([_0-9a-z-]+)/([_0-9a-z-.php]+) 存在3个核心错误:

  1. 点号未转义:正则中 . 代表匹配任意字符,匹配域名里的点必须用 \. 转义,否则会匹配其他无关字符。
  2. 字符组误用:[mycompany.local]+ 是字符组,会匹配 m/y/c/o/m/p/a/n/y/./l/o/c/a/l 中的单个字符重复,而非完整的 ourcompany.local 域名,应该直接写 ourcompany\.local。
  3. 文件名匹配错误:[_0-9a-z-.php]+ 同样是字符组问题,会把 .php 拆成单个字符匹配,正确的PHP文件匹配应该是 inspection\.php 或者 [_0-9a-z-]+\.php。

内容的提问来源于stack exchange,提问作者EndLand199

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 16:07:42