Laravel 子域端点不断重定向并出现 301 错误
Laravel subdomain endpoint keeps redirecting with 301 error
我有一个可用的 Laravel 应用程序,并引入了一个子域 (api.mysite.com) 来处理我的用户的编程访问。我在路由文件的顶部设置了一个路由组:
Route::group(['domain' => 'api.' . config('app.domain'), 'middleware' => 'api'], function () {
Route::get('/some-endpoint','APIController@someHandler');
});
这种安排适用于当地。
我在我的 DNS 记录中添加了一条 A 记录,指向我站点 IP 的 api
子域:
A Record api XX.XXX.XXX.XXX Automatic
问题是,当我尝试访问 api.mysite.com/some-endpoint
并部署到生产环境时,该站点以 301 响应并尝试将我重定向到 mysite.com/some-endpoint
,但我的路线中没有路线文件,因此回复 404.
问题存在于我的 nginx 配置文件中。在 server
部分,我需要更改行
server_name mysite.com;
到
server_name .mysite.com;
参见this related question。但是请注意,由 .mysite.com
等名称产生的通配符服务器名称查找比 mysite.com www.mysite.com api.mysite.com
.
等明确定义的名称产生的通配符服务器名称查找慢
A special wildcard name in the form “.example.org” can be used to match both the exact name “example.org” and the wildcard name “*.example.org”.
我有一个可用的 Laravel 应用程序,并引入了一个子域 (api.mysite.com) 来处理我的用户的编程访问。我在路由文件的顶部设置了一个路由组:
Route::group(['domain' => 'api.' . config('app.domain'), 'middleware' => 'api'], function () {
Route::get('/some-endpoint','APIController@someHandler');
});
这种安排适用于当地。
我在我的 DNS 记录中添加了一条 A 记录,指向我站点 IP 的 api
子域:
A Record api XX.XXX.XXX.XXX Automatic
问题是,当我尝试访问 api.mysite.com/some-endpoint
并部署到生产环境时,该站点以 301 响应并尝试将我重定向到 mysite.com/some-endpoint
,但我的路线中没有路线文件,因此回复 404.
问题存在于我的 nginx 配置文件中。在 server
部分,我需要更改行
server_name mysite.com;
到
server_name .mysite.com;
参见this related question。但是请注意,由 .mysite.com
等名称产生的通配符服务器名称查找比 mysite.com www.mysite.com api.mysite.com
.
A special wildcard name in the form “.example.org” can be used to match both the exact name “example.org” and the wildcard name “*.example.org”.