Direct Admin中public_html下WordPress博客无法访问问题求助
嘿,我来帮你搞定这个麻烦!从你给出的错误日志来看,核心问题有两个:一是服务器找不到博客目录里的默认索引文件,二是服务器禁止自动生成目录列表。咱们一步步来排查解决:
先确认WordPress文件上传路径是否正确
很多新手容易犯的错:把WordPress解压后的wordpress子文件夹直接传到public_html/blog里,导致实际的index.php在public_html/blog/wordpress下。你登录DirectAdmin的文件管理器,进入public_html/blog目录,看看里面是不是直接有index.php、wp-admin、wp-content这些文件——如果是嵌套在另一个文件夹里,把里面的文件全移到blog根目录就好。给blog目录添加.htaccess配置
错误提示找不到匹配的DirectoryIndex,咱们可以手动指定。在public_html/blog里创建或编辑.htaccess文件,添加这一行:DirectoryIndex index.php index.html index.htm这会明确告诉服务器优先加载
index.php作为默认首页。升级PHP版本(关键!)
你当前用的PHP5.6早就停止官方支持了,而且WordPress从5.2版本开始就要求PHP7.2以上——PHP5.6甚至可能无法正常解析WordPress的index.php文件。赶紧在DirectAdmin里操作:- 进入
PHP Selector工具 - 选择PHP7.4或8.0(这两个版本对旧主题/插件兼容性较好,也符合WordPress的最低要求)
- 保存设置后刷新页面再试
- 进入
检查文件权限
如果上述步骤都没解决,可能是文件权限不对导致服务器读取不到文件。在DirectAdmin文件管理器中:- 把
blog目录下的所有文件权限设为644 - 所有文件夹权限设为
755
可以批量选中后右键选择「Change Permissions」来调整。
- 把
关于目录索引禁止的说明
错误里提到的「server-generated directory index forbidden」其实不是核心问题——只要目录里存在index.php,服务器就不会去生成目录列表,所以不用特意开启目录索引权限,反而开启了还不安全。
内容的提问来源于stack exchange,提问作者Stephen Frosty

