我是本地托管一个网站(http://gfd.us),我想公开给互联网.我有一个第二级域名(来自NoIP服务):http://myname.ddns.net,它指向我的IIS服务器上的Default Web Site。
这里的问题是,内部网站也期望一个二级域名,即http://secondname.gfd.us。
现在,为了解决这个问题,我通过绑定到一个特定的端口来使用mod_rewrite模块
mod_rewrite规则参数
(.*){SERVER_PORT} = 91http://secondname.gfd.us/{R:1}一切正常工作,当我打开http://myname.ddns.net:91时,它实际上将打开内部网站http://secondname.gfd.us。
这里我不喜欢的是,如果我需要为暴露的网站使用不同的二级域名,即http://coolname.gfd.us,那么我需要将另一个规则绑定到另一个端口。我想让这个更有活力。
我试图将模式更改为类似于这个(.*)\gfd_(.*),并将重写URL更改为http://{R:2}.gfd.us/{R:1},但它并不像预期的那样工作。当我打开http://myname.ddns.net:91/gfd_coolname时,站点本身就会打开所需的二级域名,但是所有的CSS、JS和图像文件都指向错误的URL,因为它们没有被正确重写。
使用mod_rewrite可以实现这一点吗?
发布于 2015-12-16 16:48:09
您可能应该放弃mod_rewrite,为这个网站配置许多主机头,
因此,与gfd.us一起,您应该使用主机头myname.ddns.net为相同的IP和文件位置添加配置。
如果你愿意的话,你也可以使用从IIS10开始使用通配符。
https://stackoverflow.com/questions/34127548
复制相似问题