暴露内部网站 - mod_rewrite
问题描述:
我在本地托管一个网站(http://gfd.us
),我想公开给互联网。 我有一个二级域名(从NoIP
服务)公开可用:http://myname.ddns.net
它指向我的IIS服务器上Default Web Site
。暴露内部网站 - mod_rewrite
这里的问题是,内部网站也需要二级域名,即http://secondname.gfd.us
。
现在通过结合到特定端口,即解决这个问题,我使用了mod_rewrite
模块形式IIS
mod_rewrite
规则参数
- 模式 -
(.*)
- 条件 -
{SERVER_PORT} = 91
- 重写URL:
http://secondname.gfd.us/{R:1}
一切正常,当我打开http://myname.ddns.net:91
它实际上将打开内部的网站http://secondname.gfd.us
我不喜欢这里,如果我需要使用不同的二级域名暴露基于web网站,即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
可以达到这个目的吗?
答
你或许应该抛弃mod_rewrite
与本网站配置许多Host-Headers,
因此与gfd.us
一起,你应该为同一IP与主机头文件位置添加配置myname.ddns.net
它也像你可以use wildcard since IIS10如果你想。