Php 站点仅在本地主机中打开

Php 站点仅在本地主机中打开,php,apache,httpd.conf,php-5.6,apache2.4,Php,Apache,Httpd.conf,Php 5.6,Apache2.4,我正在用Apache2.4和PHP5.6安装windows服务器2019 我能够用localhost在浏览器中加载phpinfo 我试图让这些站点在另一个驱动器(D:)上的htdocs文件夹中打开,根据我们的网络团队引用的别名,“DNS设置正确,指向newprod.company.name.com”,其中“newprod”是acutal别名 在httpd.conf文件中,我有以下设置: Define SRVROOT "c:/Apache24" ServerRoot &quo

我正在用Apache2.4和PHP5.6安装windows服务器2019

我能够用localhost在浏览器中加载phpinfo

我试图让这些站点在另一个驱动器(D:)上的htdocs文件夹中打开,根据我们的网络团队引用的别名,“DNS设置正确,指向newprod.company.name.com”,其中“newprod”是acutal别名

在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>
最后,以上是为了确保Apache能够读取PHP

我还有另外两台服务器,它们用自己的别名加载站点,没有问题。我一行接一行地努力确保一切都匹配。唯一不匹配的是文件底部的PHP配置。我的另外两个服务器使用PHP7.4,而问题服务器使用PHP5.6

为什么我的站点不使用我提供的别名加载?

如果您使用

ServerName newprod.company.name.com:80
ServerName Localhost:80
在主httpd.conf(或主apache配置文件)中,去掉

ServerName Localhost:80
vhost配置

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

ServerName newprod.company.name.com
重定向/http://newprod.company.name.com/
很可能会创建一个重定向循环:如果这就是virtualhost中的所有配置,那么就去掉它:它是无用的

apache服务器上的端口80是否可以从另一台pc访问?您是否能够在apache服务器的po 80上从同一lan中的pc远程登录?您是否已检查防火墙是否正在丢弃第一个syn数据包?

如果您正在使用

ServerName newprod.company.name.com:80
ServerName Localhost:80
在主httpd.conf(或主apache配置文件)中,去掉

ServerName Localhost:80
vhost配置

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

ServerName newprod.company.name.com
重定向/http://newprod.company.name.com/
很可能会创建一个重定向循环:如果这就是virtualhost中的所有配置,那么就去掉它:它是无用的


apache服务器上的端口80是否可以从另一台pc访问?您是否能够在apache服务器的po 80上从同一lan中的pc远程登录?您是否检查过防火墙是否正在丢弃第一个syn数据包?

尝试时会发生什么?@anyber-我想您指的是我尝试加载站点时发生的情况。如果是这样,我会在浏览器中看到一个“无法访问此站点”。虚拟主机不会创建一个无限循环吗?您已经为
newprod.company.name.com
配置了它,但是最后,您重定向到了相同的主机名?当您ping主机时,您是否检查了IP(ping命令在解析主机名后写入)服务器是否为IP?请尝试将
ServerName Localhost:80
更改为
ServerAlias Localhost
。好的,您不能有多个servername,但可以向其中添加多个别名。通常,我从不直接配置httpd.conf文件,而是将所有特定于站点的配置(如servername、serveralias、document root等)放在virtualhost中。但这正是我想做的。当你尝试时会发生什么?@anyber-我想你指的是当我尝试加载网站时。如果是这样,我会在浏览器中看到一个“无法访问此站点”。虚拟主机不会创建一个无限循环吗?您已经为
newprod.company.name.com
配置了它,但是最后,您重定向到了相同的主机名?当您ping主机时,您是否检查了IP(ping命令在解析主机名后写入)服务器是否为IP?请尝试将
ServerName Localhost:80
更改为
ServerAlias Localhost
。好的,您不能有多个servername,但可以向其中添加多个别名。通常,我从不直接配置httpd.conf文件,而是将所有特定于站点的配置(如servername、serveralias、document root等)放在virtualhost中。但这正是我想要做的。