问题描述
我正在使用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 数据包?