在 Dcat Admin 中 .env 文件中 ADMIN_ROUTE_DOMAIN 参数为啥不能带端口?带端口会报 404 错误

1. 运行环境

Linux
是用的 Dcat admin 版本 v2.2.2-beta

1). 当前使用的 Laravel 版本?

Laravel Framework 9.52.5

2). 当前使用的 php/php-fpm 版本?

PHP 版本:8.1.11

2. 问题描述?

本地测试时 设置:
APP_URL=127.0.0.1:8000
若将 ADMIN_ROUTE_DOMAIN 设置为:127.0.0.1:8000
浏览器请求 127.0.0.1:8000/admin 报404错误

若将 ADMIN_ROUTE_DOMAIN 设置为:127.0.0.1

浏览器请求 127.0.0.1:8000/admin 访问正常

请问这是什么原因?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1

这是因为在 Dcat Admin 中,ADMIN_ROUTE_DOMAIN 参数用于配置 Dcat Admin 后台管理页面的访问域名。如果你将 ADMIN_ROUTE_DOMAIN 设置为 127.0.0.1:8000,表示后台管理页面应该通过该地址进行访问。

但是,在浏览器中输入 127.0.0.1:8000/admin 时,实际的访问地址是 127.0.0.1:8000,不包括 /admin 路径,因此会返回 404 错误。

如果你将 ADMIN_ROUTE_DOMAIN 设置为 127.0.0.1,表示后台管理页面应该通过 127.0.0.1 进行访问,此时浏览器中输入 127.0.0.1:8000/admin,实际的访问地址就是 127.0.0.1/admin,和 ADMIN_ROUTE_DOMAIN 的配置是匹配的,因此可以正常访问。

所以建议将 ADMIN_ROUTE_DOMAIN 参数设置为 127.0.0.1,然后在浏览器中访问 127.0.0.1:8000/admin 即可正常打开 Dcat Admin 后台管理页面。

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!