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

Directus 8前端Hello World文件部署及admin访问问题咨询

我完全懂你这种卡了好几个小时的烦躁——想在Directus 8的根域名整个简单的Hello World前端,结果要么改了根index.php就登不上Admin,要么不改的话根目录直接跳Admin,完全没地方放自己的前端。别着急,我给你一步步捋清楚怎么解决:

解决Directus 8根目录前端与Admin路径冲突的问题

1. 先确认Directus Admin的基础配置

首先找到public/admin/config.php(也就是你部署Directus的admin目录下的配置文件),检查base_url的设置是否正确。它必须明确指向Admin的路径,这样Directus才不会和根目录的前端混淆:

$config['base_url'] = '/admin/';

如果原来的配置是根路径(比如/),那肯定会和你的前端冲突,改成上面的路径就对了。

2. 放心修改根目录的index.php搭建Hello World

现在你可以直接替换根目录public/index.php的内容,写你的Hello World代码了,比如:

<?php
echo "<h1>Hello World!</h1>";
echo "<p>这是我的Directus 8前端页面</p>";
?>

这时候访问mydomain.com就会显示你的Hello World,而mydomain.com/admin应该能正常加载登录表单。如果还是不行,继续看下一步。

3. 修复服务器重写规则的干扰

如果改完根index.php后Admin还是打不开,大概率是服务器的重写规则(比如Apache的.htaccess)把/admin的请求导向了根目录。检查public/.htaccess文件,调整规则让Admin路径优先被处理:

<IfModule mod_rewrite.c>
    RewriteEngine On

    # 让所有/admin开头的请求直接访问Admin目录,不被根规则干扰
    RewriteRule ^admin/ - [L]

    # 根目录前端的路由规则(如果需要单页应用的话,不需要可以删掉下面3行)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^ index.php [L]
</IfModule>

[L]标记表示这是最后一条规则,匹配到/admin的请求就不会再走后面的根目录规则了。

4. 确认Admin入口文件未被修改

最后检查public/admin/index.php是不是Directus自带的原始文件,别不小心把它改成了你的前端代码。这个文件是Directus Admin的入口,必须保持原样才能正常加载登录界面。

按照上面的步骤操作,你就能同时拥有根目录的Hello World前端,和正常访问的Directus Admin后台了。

内容的提问来源于stack exchange,提问作者user3525484

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 15:32:48