Dvoudoménový Neverhood web

11. 7. 2008 (16:40) | etomite

NeverhoodJestliže čtete tento příspěvek jistě jste si všimli nové adresy tohoto blogu. _rasel^ zařídil doménu etomite.cz, která včera začala zrcadlit obsah etomite.sk a to včetně subdomén. Jelikož WordPress si adresu kontroluje, zavede vás nyní jakýkoli dokaz na blog s koncovkou .sk, budete přesměrování na ekvivalent s koncovkou .cz. Teď už zbývá jen přesvědčit google ;)

Změna se ale hlavně dotkla větší části obsahu této subdomény - webu o hře The Neverhood. Jazyk obsahu webu se teď určuje podle těch dvou písmenek o kterých je tento příspěvek. Například odkaz neverhood.etomite.cz/download.htm vede na českou verzi stránky Download a odkaz neverhood.etomite.sk/download.htm na slovenskou.

Pokud se ale obě domény zrcadlí, jak jsem tohoto efektu v Etomite dosáhl? Vytvořil jsem si snippet, který na slovenské verzi stránky zkontroluje, zda je doména opravdu zakončena na .sk, pokud ne, zobrazí českou verzi. A obráceně. Už dříve byl na stránkách snippet, který zajišťoval odkaz při kliku na vlaječku v pravém horním rohu. Nyní jsem ho jen obohatil.

$tenhle_alias = $this->aliases[$etomite->documentIdentifier];

if($tolang == "cze") {
  $novy_alias = "http://neverhood.etomite.cz/"
                         . str_replace("svk_", "", $tenhle_alias) . ".htm";
                         // Dáme pryč svk_ a změníme doménu
  // zobrazujeme českou vlaječku, jsme na slovensky psané stránce
  if ($_SERVER['HTTP_HOST'] == "neverhood.etomite.cz") {
  // pokud ale je doména .cz chceme česky psanou stránku
    header("HTTP/1.0 300 Multiple Choices");
    header("Location: " . $novy_alias);
  }
} elseif($tolang == "svk") { // vice versa
  $novy_alias = "http://neverhood.etomite.sk/svk_" . $tenhle_alias . ".htm";
  if ($_SERVER['HTTP_HOST'] == "neverhood.etomite.sk") {
    header("HTTP/1.0 300 Multiple Choices");
    header("Location: " . $novy_alias);
  }
} else { // kdybych to náhodou někde volal bez parametru
  $novy_alias = $tenhle_alias . ".htm";
}

return $novy_alias;

Toto řešení mi dokonce zaručí, že na stránkách, které překlad nemají (např. stránka aktualizací) se nebude Etomite snažit přesměrovávat někam, kde nic není, protože tam vlaječka tenhle snippet nevolá, ale odkazuje prostě na slovenskou domovskou stránku. Slovenský návštěvník, který klikne na odkaz, který vede na nepřeloženou stránku ji uvidí česky, ale pokud následně použije menu, je zpět na slovenském webu.

Jediný problém je, že vyhledávače teď odkazují jen na slovenskou verzi stránek.

Zanechte komentář

XHTML: Můžete použít tyto tagy: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>