Буду ли я использовать mod_rewrite, чтобы направить Google на правильную карту сайта для конкретной страны? например domain.com/sitemap.xml и domain.co.uk/sitemap.xml

#mod-rewrite #dns #sitemap

#mod-rewrite #dns #Карта сайта

Вопрос:

У нас есть сайт с идентичным контентом для двух англоязычных доменов.

После поиска наилучшего способа решения этой проблемы мы выбрали рекомендацию Google использовать доменные имена для конкретной страны — по-видимому, Google будет обслуживать правильный домен на основе местоположения пользователя.

К сожалению, наша CMS будет обслуживать только один sitemap.xml файл — таким образом, ссылки в карте сайта содержат только один из доменов конкретной страны.

Теперь мы создали sitemap.xml файл для каждого домена (в разных каталогах), но нужен способ предоставления правильной карты сайта на основе входящего домена.

например

domain.com/sitemap.xml (только URL-адреса .com) amp; domain.co.uk/sitemap.xml (.co.uk только URL-адреса)

Является ли это заданием для mod-rewrite, и если да, то как бы вы это настроили?

Это наш первый опыт работы с mod-rewite за пределами того, что предоставляет CMS, и я нашел документацию немного запутанной извините — любая помощь была бы очень признательна!

Приветствия

Комментарии:

1. На самом деле, может быть, перенаправление 301 было бы лучшим способом справиться с этим? Просто перенаправьте это: domain.co.uk/sitemap.xml к этому: domain.co.uk/sitemapuk/sitemap.xml Было бы так проще?

2. Использовал перенаправление, подобное этому, и, похоже, оно работает: перенаправление постоянное /sitemap.xml /sitemap-uk/sitemap.xml

Ответ №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]
  

Это приведет к перенаправлению на сервер, поэтому браузер клиента не перенаправляется.