【问题标题】:Would I use mod_rewrite to direct google to the correct country specific sitemap? e.g. domain.com/sitemap.xml and domain.co.uk/sitemap.xml我会使用 mod_rewrite 将谷歌引导到正确的国家/地区特定站点地图吗?例如domain.com/sitemap.xml 和 domain.co.uk/sitemap.xml
【发布时间】:2011-12-21 16:58:30
【问题描述】:

我们有一个内容相同的网站,用于两个英语域。

在四处寻找处理此问题的最佳方法后,我们选择了 google 的建议,即使用特定国家/地区的域名 - 显然 Google 将根据用户的位置提供正确的域。

很遗憾,我们的 CMS 仅提供一个 sitemap.xml 文件 - 因此站点地图中的链接仅包含国家特定域之一。

我们现在已经为每个域(在不同的目录中)创建了一个 sitemap.xml 文件,但需要一种方法来根据传入的域提供正确的站点地图。

例如

domain.com/sitemap.xml(仅限 .com 网址)和 domain.co.uk/sitemap.xml(仅限 .co.uk 网址)

这是一个 mod-rewrite 的工作吗?如果是,你会如何设置它?

这是我们在 CMS 提供之外的第一次使用 mod-rewite 的经验,发现文档有点令人困惑抱歉 - 任何帮助将不胜感激!

干杯

【问题讨论】:

  • 实际上,也许 301 重定向是最好的处理方式?只需将这个:domain.co.uk/sitemap.xml 重定向到这个:domain.co.uk/sitemapuk/sitemap.xml 会更容易吗?
  • 使用了这样的重定向,它似乎工作:重定向永久/sitemap.xml /sitemap-uk/sitemap.xml

标签: mod-rewrite dns sitemap


【解决方案1】:

您绝对可以为此使用 mod_rewrite 并使用 HTTP_HOST 作为条件,例如:

RewriteEngine On

RewriteCond %{HTTP_HOST} domain.com$ [NC]
RewriteRule ^sitemap.xml /sitemapus/sitemap.xml  [L]

RewriteCond %{HTTP_HOST} domain.co.uk$ [NC]
RewriteRule ^sitemap.xml /sitemapuk/sitemap.xml  [L]

这将导致重定向发生在服务器上,因此客户端的浏览器不会被重定向。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    相关资源
    最近更新 更多