多个域和一个文件夹 - 如何管理 sitemap.xml?

Multiple Domains & one folder - how to manage sitemap.xml?

我有多个域 example-A.comexample-B.comexample-C.com,它们都是不同的,但它们都指向我服务器上的同一个文件夹(这三个域连接非常紧密但仅通过单个 Laravel 应用程序进行管理,有关更多信息,请参阅 Multiple websites with one Laravel installation)

现在我需要为每个域创建一个不同的 sitemap.xml 文件。

我在 this answer how to execute PHP inside XML files 中找到了。这样我就可以根据 url 动态更改 sitemap.xml 的内容。如果他们尝试访问 XML 文件,这对爬虫和 SE 是否有效?或者有更推荐的方法吗?

有一条与 sitemap.xml 匹配但通向 PHP 脚本的路线。然后这个脚本提供一个预先生成的站点地图文件,或者甚至可能自己生成它。 我能想到的最简单的方法是:

# .htaccess
RewriteRule ^/sitemap.xml$ sitemap.php [L]

// sitemap.php
switch ($_SERVER['HTTP_HOST']) {
    case 'example-A.com':
        echo file_get_contents(__DIR__ . '/sitemap-A.xml');
        break;
    case 'example-B.com':
        echo file_get_contents(__DIR__ . '/sitemap-B.xml');
        break;
    // etc.
}

我不知道 Laravel,但我确定有一种方法可以创建与 /sitemap.xml 匹配并由某个控制器提供服务的路由。