网站仅在localhost

问题描述

我正在使用Apache 2.4和PHP 5.6设置Windows Server 2019。

我能够在localhost的浏览器中加载PHPinfo。

我正在尝试使用别名将站点打开到另一个驱动器(D :)上的htdocs文件夹中,根据我们的网络团队引用的别名,“ DNS已正确设置为指向newprod.company.name .com”,并以“ newprod”作为实际别名。

在我的httpd.conf文件中,我具有以下设置:

Define SRVROOT "c:/Apache24"

ServerRoot "${SRVROOT}"

Listen 80

上面的内容指向Apache24所在的C:驱动器。

LoadModule rewrite_module modules/mod_rewrite.so

我上面的模块没有评论。还有其他几个模块没有被注释,但是根据各种Apache设置教程,上面的一个模块似乎是主要模块之一。

ServerAdmin my.company@company.com

ServerName newprod.company.name.com:80
ServerName Localhost:80

根据各种教程,以上内容似乎是正确的。我已经比较了以前的httpd.conf文件,它们使用的配置非常相似,包括Localhost:80。

DocumentRoot "D:/htdocs"
<Directory "D:/htdocs">
  Options Indexes FollowSymLinks
  AllowOverride None
  Require all granted
</Directory>

D:/ htdocs上面要重点关注的主要部分。这是我认为应该从中打开网站以及使用别名打开的地方。

<IfModule dir_module>
  DirectoryIndex index.PHP index.html
</IfModule>

根据各种教程,以上是典型的Apache设置。

<VirtualHost newprod.company.name.com:80>
  ServerName newprod.company.name.com
  Redirect / http://newprod.company.name.com/
</VirtualHost>

我在其他服务器(别名不同)上使用了以上命令,没有任何问题。

PHPIniDir "C:/PHP5.6"
AddHandler application/x-httpd-PHP .PHP
LoadModule PHP5_module "C:/PHP5.6/PHP5apache2_4.dll"

然后,最后是确保Apache将读取PHP

我还有另外两个服务器正在使用自己的别名加载站点,这没有问题。我逐字逐句地尝试确保所有内容都匹配。唯一不匹配的是文件底部PHP配置。我的另外两个服务器使用的是PHP 7.4,而问题服务器使用的是PHP 5.6。

为什么我的网站没有使用我提供的别名加载?

解决方法

如果您正在使用

ServerName newprod.company.name.com:80
ServerName Localhost:80

在主 httpd.conf(或主 apache 配置文件)中,去掉

ServerName Localhost:80

虚拟主机配置

<VirtualHost newprod.company.name.com:80>
  ServerName newprod.company.name.com
  Redirect / http://newprod.company.name.com/
</VirtualHost>

可能会创建一个重定向循环:如果这是虚拟主机内部的所有配置,则摆脱它:它没用。

您的 apache 服务器上的端口 80 是否可以从另一台 PC 访问?您是否能够在 apache 服务器的 po 80 上的同一局域网中的 pc 上进行 telnet?您是否检查过防火墙是否丢弃了第一个 Syn 数据包?