IIS和Apache在同一台机器上?

我有一个运行IIS的Windows 2003 Server(由于需要托pipe一个ASP站点)。

我想添加一些非ASP网站(HTML,PHP和MySQL),所以我想我可以在8080上运行Apache。

让我困惑的是,如果有人点击了DomiainA.com,IIS会拦截它并将其转发到Apache运行的DomainA.com:8080。 我可以通过把一个服务器端JavaScript重新直接在域的IIS万维网的根。

我还能做什么呢可能更合适?

通常这是通过redirect规则解决的,服务器告诉客户正确的位置(对用户透明,但他会看到正确的URL)。 在Apache中,redirect规则很容易使用,全局在configuration中或本地使用.ht *文件。

如果IIS很难处理,或者IIS没有提供便宜(例如性能,延迟)的解决scheme,那么可能希望在端口80上运行Apache,在8080上运行IIS。

否则,如果我不需要,我不想同时维护两个Web服务器。 (旁注:Apache是​​优秀的,所以有一个单独的IIS服务于ASP实际上是有道理的)

正如其他人所说,没有理由不能在IIS下运行PHP应用程序。 话虽如此,您可以将IISconfiguration为只监听特定的IP地址(默认情况下,无论您的站点是否configuration为使用该IP,都将占用计算机上每个IP的端口80)。 然后,您可以在未绑定到IIS的IP地址上运行Apache,并且不会有任何问题。 我只想在IIS中运行PHP应用程序,除非有一些令人信服的理由来使用Apache。

PHP在IIS下运行。 你将需要find比运行httpd更好的理由…

我也推荐IIS下的PHP选项。
购买,如果你真的需要2个服务器工作,你可以使用ISA服务器:
http://www.microsoft.com/forefront/edgesecurity/isaserver/en/us/features.aspx?pf=true
它允许你,除其他外,做端口转发。

不要用JavaScript做你的redirect,这将是不好的devise。

如果你想在没有复杂设置的情况下处理这个问题,只需通过IIS运行PHP并跳过第二个服务器即可。