如何在本地localhost环境中连接Directus API并配置端点?
嘿,我来帮你搞定这个404的问题!结合你的环境和路径,咱们一步步排查:
1. 先确认正确的API端点路径
你的Directus放在C:\Program Files (x86)\Ampps\www\trial\directus-master,而AMPPS的www目录是Apache的网站根目录,所以你的Directus基础访问URL应该是:http://localhost/trial/directus-master
根据你提到的文档里的/server/ping接口,旧版本的Directus确实用/server作为API前缀,所以正确的ping接口地址应该是:http://localhost/trial/directus-master/server/ping
你之前直接用http://localhost/server/ping,相当于找根目录下的server文件夹,自然会404啦!
2. 检查Apache的URL重写是否生效
Directus的API依赖URL重写规则,你需要确保:
- 打开AMPPS的Apache模块设置,确认
mod_rewrite已经启用(通常在AMPPS控制面板的Apache设置里能找到) - 检查
directus-master目录下是否存在.htaccess文件,并且里面的重写规则配置正确。如果没有的话,可以从Directus的源码包里复制一份,或者手动添加基础的重写规则:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]
3. 确认Directus安装是否完成
你有没有完成Directus的安装向导?访问http://localhost/trial/directus-master,如果还没安装的话,会跳转到安装页面,需要配置数据库连接(你的SQL是5.7.17,刚好符合旧版Directus的要求),设置管理员账号等。只有完成安装后,API接口才能正常工作。
4. 检查目录权限(Windows环境)
因为你的Directus放在Program Files目录下,可能存在权限问题。右键点击directus-master文件夹,选择“属性” -> “安全”,确保Apache的运行用户(通常是IUSR或者Apache)有读写权限,尤其是cache、logs这些目录,否则可能导致API无法正常初始化。
如果按照上面的步骤操作后还是有问题,可以打开AMPPS的Apache日志(在AMPPS的日志目录里),看看具体的404错误详情,能帮你进一步定位问题哦!
内容的提问来源于stack exchange,提问作者user9609050

