You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache显示默认测试页而非指定index.php问题求助

咱们一步步排查解决你的 ahk.daviddaily.dev 显示默认页的问题,既然 archive.callmeloopdaddy.com 能正常运行,咱们就拿它当参考基准。

1. 检查是否配置了对应的HTTPS虚拟主机

你的80端口配置会把所有请求重定向到HTTPS,但如果没有为 ahk.daviddaily.dev 配置 <VirtualHost *:443> 块,Apache就会 fallback 到默认的SSL配置(也就是显示测试页)。

复制你那台能正常运行的 archive.callmeloopdaddy.com 的SSL配置,然后修改以下内容:

  • ServerName 和 ServerAlias 改成 ahk.daviddaily.dev 和 www.ahk.daviddaily.dev
  • DocumentRoot 改为 /var/www/ddaily/ahk
  • 如果这个域名用了不同的SSL证书,更新 SSLCertificateFile 和 SSLCertificateKeyFile 的路径(如果证书通用就直接复用)
  • 别忘了在这个SSL块里也设置 DirectoryIndex /_h5ai/public/index.php

2. 确认新的虚拟主机配置被Apache加载

CentOS 7下,Apache会加载 /etc/httpd/conf.d/ 目录下所有以 .conf 结尾的配置文件。确保你的 ahk.daviddaily.dev.conf 放在这个目录里,而且配置没有语法错误:

apachectl configtest

如果输出 Syntax OK,就重启Apache生效:

systemctl restart httpd

3. 给新虚拟主机添加<Directory>块

你那台正常的archive虚拟主机大概率有对应的 <Directory> 块来设置权限和覆盖规则,可能你给新子域名配置的时候漏掉了。在80端口和443端口的虚拟主机块里都加上这段:

<Directory "/var/www/ddaily/ahk">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
    DirectoryIndex _h5ai/public/index.php
</Directory>

这能确保Apache识别正确的索引文件,并且有权限访问目录内容。

4. 修复目录权限和SELinux上下文

首先,对齐正常运行的archive目录的权限:

# 对比两个目录的权限
ls -ld /var/www/archive /var/www/ddaily/ahk
ls -l /var/www/archive/_h5ai /var/www/ddaily/ahk/_h5ai

# 将目录所有者设为Apache运行用户(CentOS下通常是apache)
chown -R apache:apache /var/www/ddaily/ahk

CentOS默认开启SELinux,可能会阻止Apache访问新目录。恢复正确的SELinux上下文:

restorecon -Rv /var/www/ddaily/ahk

5. 查看Apache错误日志找具体线索

如果上面的步骤都没解决问题,就去看错误日志,里面会有具体的报错信息:

tail -f /var/log/httpd/error_log

然后在浏览器访问 ahk.daviddaily.dev,看看日志里有没有类似「权限拒绝」「文件未找到」或者配置解析错误的提示,这些能直接帮你定位根因。

最后一步:再次测试

做完任何修改后,重启Apache,清空浏览器缓存,再测试子域名访问。

内容的提问来源于stack exchange,提问作者Daily the Noob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:28:13