我在使用 Laravel 进行通配符子域路由时遇到了一些问题。 我想为每个用户创建子域。 所以我这样做:
我在 Laravel 路由中的 API.js:
Route::domain('{user}.mydomain.com')->group(function () {
Route::get('user', [UserController::class, 'getUserDetails'])->name('user');
});
这是我的虚拟主机
<VirtualHost *:80>
ServerAdmin domain@gmail.com
DocumentRoot "C:\xampp\htdocs\Project\public"
DirectoryIndex index.php
ServerName mydomain.com
ServerAlias *.mydomain.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
和 C:\Windows\System32\drivers\etc\hosts
127.0.0.2 mydomain.com
127.0.0.2 *.mydomain.com
我做错了什么?
编辑:我使用的是 Windows
答案 0 :(得分:0)
Windows 不支持主机文件中的通配符条目。您需要指定所有单个子域。
答案 1 :(得分:0)
您只需要一个 DNS 服务。我在 Windows 上使用 Acrylic DNS Proxy,他们有很好的文档说明如何在 Windows 环境中进行设置。
亚克力链接 Documentation
只需按照文档并在底部的 Acrylic UI 主机配置中添加您的主机,如下所示
127.0.0.1 *.mydomain.com domain.com
设置完成后别忘了重启 Acrylic DNS Proxy 服务,应该会很有用。