站点仅在 localhost 中打开

Posted

技术标签:

【中文标题】站点仅在 localhost 中打开【英文标题】:Site only opens in localhost 【发布时间】:2021-02-19 09:51:29 【问题描述】:

我正在使用 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。

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

【问题讨论】:

尝试时会发生什么? @anyber - 我想你指的是当我尝试加载网站时。如果是这样,我会在浏览器中看到“无法访问此站点”。 VirtualHost 不会造成无限循环吗?您已经为newprod.company.name.com 配置了它,但最后,您重定向到相同的主机名? 当你 ping 主机时,你是否检查过 IP(ping 命令在解析主机名后写出的)是服务器 IP? 尝试将ServerName Localhost:80 更改为ServerAlias localhost。 Afaik,您不能拥有多个服务器名称,但您可以为其添加多个别名。通常,我从不直接配置 httpd.conf 文件,而是将所有特定于站点的配置(如服务器名、服务器别名、文档根目录等)放在虚拟主机中。但这正是我倾向于这样做的方式。 【参考方案1】:

如果你正在使用

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 端口是否可以从另一台电脑访问?您是否可以从 apache 服务器的 po 80 上同一局域网中的 PC 远程登录?您是否检查过防火墙是否正在丢弃第一个同步数据包?

【讨论】:

以上是关于站点仅在 localhost 中打开的主要内容,如果未能解决你的问题,请参考以下文章

本地主机上的 kohana 站点无法使用 https://

无法访问此站点:localhost 拒绝连接

xampp中localhost与DreamWaver站点设置问题

Localhost端口已更改,但未在WordPress站点中反映出来

java sql SQLException Access denied for user 'sa' 'localhos

仅在一个站点上显示 PHP 错误