适用于多域的Drupal 8 Simple XML Sitemap

时间:2019-07-11 07:48:38

标签: drupal drupal-8 sitemap

我的主页当前在2个不同的域上运行(顶级域=> .de / .at )。 两者都指向相同的站点(共享相同的代码)。

1:example.at

2:example.de

我已经安装了模块:“ 简单XML网站地图”,该模块创建了一个网站地图,但仅针对“ example.at ”域。

查看我的 example.at/sitemap.xml 正常。

但是我的 example.de/sitemap.xml 显示的网址与第一个网址相同。 这意味着它们具有相同的“内容”。

example.at/sitemap.xml

<url>
    <loc>example.at</loc>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
</url>

example.de/sitemap.xml

<url>
    <loc>example.at</loc>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
</url>

设置:admin / config / search / simplesitemap

在设置中,我已将基本网址设置为 example.at 。 有没有一种方法可以根据当前域覆盖基本网址?

将基本网址保留为空白不会更改我的站点地图的“内容”。

不胜感激。

谢谢!

修改:

与模块相同的场景:“ XML网站地图”

试图通过一个钩子更改settings.php内的base_url,但仍然没有更改:

$settings['xmlsitemap_base_url'] = 'example.de';

解决方案:

手动创建两个站点地图。

[可以,但是必须手动对两个站点地图进行更改。我仍在使用“简单站点地图XML-模块”来生成包含所有节点的基本站点地图。

生成的站点地图的内容将被复制到两个站点地图文件中。 =>( .at / .de 也必须手动更改)]

基于顶级域 .de / .at 进行重定向:

example.at/sitemap.xml => example.at/sitemap1.xml

example.de/sitemap.xml => example.de/sitemap2.xml

RewriteCond %{HTTP_HOST} ^example.at$
RewriteCond %{REQUEST_URI} /sitemap.xml
RewriteRule ^(.*)$ https://example.at/sitemap1.xml [R=301,L]

RewriteCond %{HTTP_HOST} ^example.de$
RewriteCond %{REQUEST_URI} /sitemap.xml
RewriteRule ^(.*)$ https://example.de/sitemap2.xml [R=301,L]

0 个答案:

没有答案