2016-04-22 3 views
2

ich zwei Sitemap-Dateien für die gleiche Seite erstellt haben:zwei XML-Sitemaps für Seite eins in .htaccess rewrited

  • sitemap_en.xml
  • sitemap_sk.xml

Gleiche Seite auf arbeitet zwei Domains.

  • domain1 - für sk Sprache
  • domain2 - für en Sprache

Ich brauche folgende Rewrite-Regel in .htaccess zu erstellen:

  • Wenn domain1.sk/sitemap.xml Zurückgeben sitemap_sk.xml
  • Wenn domain2.com/sitemap.xml Zurückgeben sitemap_en.xml

Antwort

2

Sie können die folgenden bedingten Regeln in .htaccess verwenden:

RewriteEngine on 

##1)if host=="www.domain1.sk## 
RewriteCond %{HTTP_HOST} ^(www\.)?domain1\.sk$ 
##rewrite "/sitemap.xml" to "/sitemap_sk.xml"## 
RewriteRule ^/?sitemap\.xml$ /sitemap_sk.xml [NC,L] 
##2)if host=="www.domain2.com## 
RewriteCond %{HTTP_HOST} ^(www\.)?domain2\.com$ 
##rewrite "/sitemap.xml" to "/sitemap_en.xml"## 
RewriteRule ^/?sitemap\.xml$ /sitemap_en.xml [NC,L] 
  • Die erste Regel /sitemap.xml zu /sitemap_sk.xml umschreiben, wenn der Host-Wert www ist. domain1.sk oder domain1.sk.

  • Die # 2-Regel /sitemap.xml zu /sitemap_en.xml umschreiben, wenn der Host-Wert www.domain.com oder domain.com ist.

+1

Vielen Dank Starkeen sehr. Es klappt! – steelbull

+0

... und ist es möglich, den direkten Zugriff auf die ursprüngliche Sitemap zu deaktivieren? domain.com/sitemap_de.xml – steelbull

+0

@Steelbull ja es ist möglich, können Sie diese Regel über andere Regeln verwenden, fügen Sie diese unter der "RewriteEngine on" Zeile 'RewriteCond% {THE_REQUEST} /sitemap_de\.xml [NC] RewriteRule^- [F, L] 'dies wird 403 verboten Fehler zurückgegeben, wenn **/sitemap_en.xml ** direkt zugegriffen wird – starkeen

Verwandte Themen