我的主页当前在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]