如何在 Laravel 中拥有不同的 robots.txt 文件子域和主域?

时间:2021-02-10 22:08:41

标签: php laravel nginx

我有一个 Laravel 项目,它在 routes/web.php 中有一个主域和一个子域设置,如下所示:

Route::group(array('domain' => '{account}.example.com'), function() {
    // subdomain routes
});

Route::group(array('domain' => 'example.com'), function() {
    // domain routes
});

如何分离主域和子域的 robots.txt 文件?如果你去robots.txt的路径,域和子域返回相同的文件。 Laravel 读取公共文件夹中的默认文件。

2 个答案:

答案 0 :(得分:2)

好的。 NGINX 的解决方案。

在服务器部分之前:

map $host $robots_file {
  default robots.txt;
  site.com robots-site.txt;
  www.site.com robots-site.txt;
}

内部服务器部分:

location = /robots.txt {
  try_files /$robots_file =404;
}

答案 1 :(得分:-1)

我认为您可以在 Laravel Documentation

中做到这一点
Route::domain('{account}.example.com')->group(function () {
    Route::get('user/{id}', function ($account, $id) {
        //
    });
});