【问题标题】:How can I have a different robots.txt file subdomain and main domain in Laravel?如何在 Laravel 中拥有不同的 robots.txt 文件子域和主域?
【发布时间】:2021-05-14 16:02:06
【问题描述】:

我有一个 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 读取公用文件夹中的默认文件。

【问题讨论】:

    标签: php laravel nginx


    【解决方案1】:

    好的。 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;
    }
    

    【讨论】:

      【解决方案2】:

      我认为你可以在Laravel Documentation中做到这一点

      Route::domain('{account}.example.com')->group(function () {
          Route::get('user/{id}', function ($account, $id) {
              //
          });
      });
      

      【讨论】:

      • 这如何回答 OP 的要求?
      • 问题是关于如何处理对子域的请求。在 Laravel 中你不需要创建两个 robots.txt,因为你已经有一个 Route 方法来处理这些查询。 阅读文档。
      • "如何在 Laravel 中拥有不同的 robots.txt 文件子域和主域?"阅读 OP 想要什么
      • 阅读我的回答:在 Laravel 中你不需要创建两个 robots.txt,因为已经有一个 Route 方法来处理这些查询。
      • 我知道,但是 OP 需要两个 robots.txt 文件,因此他无法为这两个域进行相应的配置。
      猜你喜欢
      • 1970-01-01
      • 2012-09-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-19
      • 2013-06-06
      • 1970-01-01
      • 2021-12-12
      • 1970-01-01
      相关资源
      最近更新 更多