我正在尝试在已安装默认网站的现有 IIS v7 上添加新网站。我的问题是,我遇到了冲突,因为我无法提供:
不同的主机名 不同的本地 IP 不同的端口 我被要求尝试执行以下操作。假设可以通过 www.something.com 访问默认网站,那么我应该尝试使用 www.something.com/new_web_site 配置新网站
可以从网站配置吗?
是否可以将某种重定向页面放在默认网站物理位置下的子文件夹名称 new_web_site 中,以重定向新网站文件的实际物理位置?
答案1
ARR 和重写规则的组合将很好地解决这个问题。以下是要遵循的步骤:
- 下载并安装 ARRhttp://www.iis.net/download/ApplicationRequestRouting
- 在 IIS 管理器中,在“连接”窗格中选择您的机器,双击 IIS 部分中的应用程序请求路由功能,单击“操作”窗格中的“服务器代理”链接,然后选中“启用代理”复选框并选择应用操作。
- 更改两个现有网站的绑定 - 例如,将已发布的网站绑定到端口 81,将实验网站绑定到端口 82。
- 创建一个新的网站和应用程序池,并将其绑定到“http:*:80:”。将其命名为“默认网站”。将其物理路径指向“%SystemDrive%\inetpub\DefaultWebSite”
为“默认”网站创建一个 web.config 文件,并在其中写入您的路由规则:
<rules> <rule name="Reverse Proxy for Experimental" stopProcessing="true"> <match url="^.*/experimental/.*" /> <action type="Rewrite" url="http://{HTTP_HOST}:82/{R:0}" /> </rule> <rule name="Reverse Proxy for Release" stopProcessing="true"> <match url=".*" /> <action type="Rewrite" url="http://{HTTP_HOST}:81/{R:0}" /> </rule> </rules>
您可能需要对重写规则进行一些调整,您可以尝试使用 IIS 上的 URL 重写模块小程序,并在此处阅读有关它的更多信息:http://learn.iis.net/page.aspx/500/testing-rewrite-rule-patterns/ 如需进一步帮助,请务必浏览 Ruslan Yakushev 的博客:http://ruslany.net/
这将为你提供三个完全独立的网站,可通过端口 80 上的单个界面进行访问(当然,如果需要,你也可以直接通过端口 81 和 82 访问每个网站: http://localhost:81/default.aspx例如。
答案2
如何在默认网站的绑定中添加附加网站的主机标头?