Laravel 重定向到另一个子域

Laravel redirect to another subdomain

我想将我的子域 test.example.com 重定向到另一个子域 www.example.com。我在我的 routes.php 中添加了下面的代码,但它似乎不起作用。

Route::group(array('domain' => '{test}.example.com'), function() {
     Route::get('/', function($test) {
         return Redirect::to('http://www.example.com');
     });
});

当我在浏览器中输入 test.example.com 时,我没有被重定向到 www.example.com。有人对我如何解决此问题有任何建议吗?

我自己还没有玩过子域路由,但试试这个

Route::group(array('domain' => '{test}.example.com', 'before' => 'tomaindomain');


Route::filter('tomaindomain', function()
{
    return Redirect::to('SomeDomain.com');
});

我只对整个子域应用了路由过滤器,您可以删除通配符或在重定向前检查 $test 是否等于 "test"。我认为您可以 return 在 Route 组内的 if 语句中进行重定向请求,但我尚未对其进行测试。

我发现我的 DNS 服务器设置有问题。我为我的子域 "test.example.com" 使用 CNAME 记录,而不是使用 URL 记录,301 永久移动。因此,我删除了我的 CNAME 记录并将其替换为 URL 记录,现在一切似乎都运行良好。感谢@everon 和@Set Kyar Wa Lar 的帮助