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

Windows环境下多域名指向同一服务器不同目录的实现方法

Windows下多域名指向同一服务器不同目录的解决方案

一、先修复你原来的ASP脚本(解决跳转失效问题)

你的脚本失效主要有两个原因:HTTP_HOST只返回纯域名(不带http://和末尾斜杠),且存在语法错误。修复后的脚本如下:

<%
dim host, pagina
host = LCase(request.servervariables("HTTP_HOST"))

SELECT CASE host
    CASE "androideilbello.ddns.net"
        pagina = "/tony/index.html"
    CASE "iptest5"
        pagina = "/Dashboard/index.html"
    CASE "www.topolino.com"
        pagina = "default.htm"
    CASE "www.minnie.it"
        pagina = "/minnie/index.html"
    CASE ELSE
        pagina = "/default.html" ' 可选:添加默认跳转
END SELECT

Response.Redirect(pagina)
%>

注意:

  • HTTP_HOST的值是域名本身,比如访问http://androideilbello.ddns.net时,host变量是androideilbello.ddns.net,不要加协议和斜杠。
  • 确保脚本放在站点的根目录,且IIS已启用ASP支持(IIS管理器→站点→功能视图→ASP,确保状态为启用)。

二、更推荐的IIS原生配置方案(无脚本,服务器端映射)

用ASP跳转是客户端重定向,体验不如IIS原生的站点绑定/目录映射,推荐以下两种方法:

方法1:创建多个独立站点(最直观)

  1. 打开IIS管理器,右键左侧的「网站」→「添加网站」。
  2. 填写参数:
    • 站点名称:自定义(比如Sito1)
    • 物理路径:选择目标目录(注意Windows路径是C:\root\pippobaudo,不是Linux的/root/)
    • 绑定:
      • IP地址:选择服务器的内网/公网IP
      • 端口:默认80(HTTPS用443)
      • 主机名:填写www.sito1.com
  3. 点击「确定」完成创建,重复步骤创建第二个站点,绑定www.sito2.com,物理路径设为C:\root\site2。
  4. 给每个目录设置权限:右键目录→「属性」→「安全」,添加IIS_IUSRS用户,赋予「读取」权限。

方法2:单站点+URL重写(适合不想多站点的场景)

如果不想创建多个站点,可通过IIS的URL重写模块实现域名到目录的映射:

  1. 先安装URL重写模块:打开IIS管理器→「管理工具」→「Web平台安装程序」,搜索「URL Rewrite」安装。
  2. 进入目标站点的「URL重写」功能,点击右侧「添加规则」→「空白规则」。
  3. 配置规则(以www.sito1.com为例):
    • 名称:自定义(比如Sito1_Dir_Map)
    • 匹配URL:
      • 请求路径:匹配「通配符」
      • 模式:*
    • 条件:添加条件,输入{HTTP_HOST},匹配模式选「正则表达式」,内容为^www\.sito1\.com$
    • 操作:
      • 操作类型:「重写」
      • 重写URL:/pippobaudo/{R:0}({R:0}表示保留原请求路径)
      • 勾选「追加查询字符串」
  4. 重复步骤添加其他域名的规则,比如www.sito2.com对应重写URL为/site2/{R:0}。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 03:45:23