0

我尝试提供我的 XML 站点地图,如此处所述。我有一个名为站点地图的页面,Google Sitemap Index上面有一个。在“选定页面”下,我选择了页面本身。对于每种语言,我在站点地图下创建了一个子页面,Google Sitemap for Pages上面有一个和相应的翻译。如果我调用站点地图(索引),我有多个条目:

<sitemapindex>
    <sitemap>
        <loc>http://www.yourdomain.com/sitemap/german.html</loc>
        <lastmod>2012-05-25T12:39:19Z</lastmod></sitemap>
    <sitemap>
        <loc>http://www.yourdomain.com/sitemap/english.html</loc>
        <lastmod>2012-05-25T12:39:19Z</lastmod>
    </sitemap>
    <sitemap>
        <loc>http://www.yourdomain.com/sitemap/english.html</loc>
        <lastmod>2012-05-25T12:39:19Z</lastmod>
    </sitemap>
    <sitemap>
        <loc>http://www.yourdomain.com/sitemap/croatian.html</loc>
        <lastmod>2012-05-25T12:39:19Z</lastmod>
    </sitemap>
    <sitemap>
        <loc>http://www.yourdomain.com/sitemap/croatian.html</loc>
        <lastmod>2012-05-25T12:39:19Z</lastmod>
    </sitemap>
</sitemapindex>

如果我在(索引站点地图的)“选定页面”下选择子页面,则该子页面sitemapindex为空。如果我隐藏翻译,我只有一个条目,但调用单独的站点地图(不同语言的)不再起作用(参见我的网站,而不是 xml 文件,页面为空白)。我无法禁用记录,因为所有翻译也都被禁用。

接下来,如果我打电话,http://www.yourdomain.com/sitemap/english.html我总是会得到我主要语言的站点地图。我已经扩展了我的 htaccess:

RewriteCond %{QUERY_STRING} id=170
RewriteRule ^index.php$ index.php?id=170&L=0 [L]
RewriteCond %{QUERY_STRING} id=171
RewriteRule ^index.php$ index.php?id=171&L=1 [L]
RewriteCond %{QUERY_STRING} id=172
RewriteRule ^index.php$ index.php?id=172&L=2 [L]

我需要这里的完整路径而不是id=171

编辑:

我切换到以下内容:

Redirect /sitemap/german.html /index.php?id=170&L=0
Redirect /sitemap/english.html /index.php?id=171&L=1
Redirect /sitemap/croatian.html /index.php?id=172&L=2
Redirect /sitemap/german /index.php?id=170&L=0
Redirect /sitemap/english /index.php?id=171&L=1
Redirect /sitemap/croatian /index.php?id=172&L=2

唯一的缺点是现在我没有说话的网址了......

编辑 2: 不是解决方案,但现在我提交了多个站点地图 URL(翻译的站点地图),而不是上述整个过程。

4

0 回答 0