4

我在本地托管一个网站 ( http://gfd.us),我想向互联网公开。我有一个公开可用的二级域名(来自NoIP服务):http://myname.ddns.net它指向Default Web Site我的 IIS 服务器。

这里的问题是内部网站也需要二级域名,即http://secondname.gfd.us.

现在为了解决这个问题,我mod_rewrite通过绑定到特定端口来使用模块形式的 IIS,即

mod_rewrite规则参数

  1. 图案 -(.*)
  2. 健康)状况 -{SERVER_PORT} = 91
  3. 重写网址:http://secondname.gfd.us/{R:1}

一切都按预期工作,当我打开http://myname.ddns.net:91它时,它实际上会打开内部网站http://secondname.gfd.us

我在这里不喜欢的是,如果我需要为暴露的网站使用不同的二级域名,即http://coolname.gfd.us,那么我需要将另一个规则绑定到另一个端口。我想让这个更有活力。

我试图将 Pattern 更改为这样(.*)\gfd_(.*),并将重写 URL 更改为http://{R:2}.gfd.us/{R:1},但它没有按预期工作。当我打开http://myname.ddns.net:91/gfd_coolname网站时,它会以所需的二级域名打开,但所有 CSS、JS 和图像文件都指向错误的 URL,因为它们没有被正确重写。

这可以实现使用mod_rewrite吗?

4

1 回答 1

0

您可能应该为该网站放弃mod_rewrite并配置许多主机标头,

因此,gfd.us您应该与主机头一起为相同的 IP 和文件位置添加配置myname.ddns.net

如果您愿意,您也可以使用 IIS10 以来的通配符

于 2015-12-16T16:48:09.520 回答