我正在迁移一些网站迁移到新服务器。虽然数据传输本身进展顺利,但我在新硬件设置上测试网站时遇到了问题。通常,这是在进行任何 DNS 更改之前完成的,可以通过直接访问 IP 地址来完成。
然而,我目前的问题在于我的新服务器(或许是所有服务器)在使用 PHP $_SERVER['DOCUMENT_ROOT'] 时如何处理拉取 css(和其他)文件。位置是正确的(当然使用 IP 地址),但由于某种原因,css 文件未加载。当我尝试直接访问 css 文件(使用 IP 作为根目录)时,我收到 403 Forbidden 错误。
我还修改了本地 Windows Hosts 文件,以识别映射到站点 IP 地址的测试地址。
尝试使用 IP 地址时这种情况常见吗?有没有什么方法可以让我测试一下?
更新
查看 error_log,我发现几个文件都出现以下错误:
客户端被服务器配置拒绝
后面跟着实际的文件名。
发现问题 (*)
我发现问题与我的 .htaccess 文件有关,但不太清楚原因。这与我在之前的服务器上使用的设置相同。
AuthType Basic
AuthName "Protected Area"
AuthUserFile /var/www/vhosts/site.com/.htpasswd
Require valid-user
order deny,allow
deny from all
allow from ... (list of different ip addresses)
Satisfy Any
答案1
听起来你遇到了权限错误。确保文件与 Web 服务器属于同一个进程,你也可以查看 Apache 错误日志以找出它抛出权限错误的原因。
答案2
可能您的域名不是您的网络服务器的默认虚拟主机,因此当您尝试使用 IP 地址访问时,会出现错误。
您应该将新服务器的域名和 IP 地址添加到操作系统的 hosts 文件中。然后,您可以使用域名进行测试。来自您计算机的所有请求都将发送到新服务器。