在 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 访问正常

请问这是什么原因?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 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年前 评论

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