{"id":320,"date":"2011-04-27T19:35:39","date_gmt":"2011-04-27T17:35:39","guid":{"rendered":"http:\/\/www.commercers.com\/blog\/?p=320"},"modified":"2015-09-04T08:43:30","modified_gmt":"2015-09-04T06:43:30","slug":"magento-storeview-sprache-uber-url-andern-change-laguage-via-url","status":"publish","type":"post","link":"https:\/\/www.commercers.com\/blog\/magento-storeview-sprache-uber-url-andern-change-laguage-via-url\/","title":{"rendered":"Magento &#8211; Storeview \/ Sprache \u00fcber URL \u00e4ndern (Change laguage via URL)"},"content":{"rendered":"<p>Es ist ein viel besprochenes Problem: Wie \u00e4ndere ich anhand der URL den Storeview oder die Sprache?<\/p>\n<p>Man kann \u00fcber das Backend verschiedene Storeviews einrichten, die je nach Dropdowneinstellung im Frontend dann Aussehen und\/oder Sprache \u00e4ndern. Schwierig wird es aber, wenn man (auch aus Google Gr\u00fcnden) f\u00fcr einen Storeview eine andere Domain nutzen m\u00f6chte, als f\u00fcr den anderen View.<\/p>\n<p>So ist die Ausgangslage:<\/p>\n<p>Es soll <a href=\"http:\/\/www.english.com\">www.english.com<\/a> f\u00fcr den englischen Storeview (&#8220;english&#8221; genutzt werden und<\/p>\n<p><a href=\"http:\/\/www.deutsch.de\">www.deutsch.de<\/a> f\u00fcr den deutschen Storeview (&#8220;deutsch&#8221;).<\/p>\n<p>Dass selbstverst\u00e4ndlich beide Domains registriert und per cPanel (o.\u00e4.) auf public_html (o.\u00e4.) geroutet werden, setzen wir einmal voraus.<br \/>\nDie beiden Storeviews sind auch eingerichtet und in der Konfiguration &gt; Web ist bei Storeview &#8220;deutsch&#8221; als Basis URL <a href=\"http:\/\/www.deutsch.de\">www.deutsch.de<\/a> und bei Storeview &#8220;english&#8221; ist <a href=\"http:\/\/www.english.com\">www.english.com<\/a> hinterlegt (und die anderen URLs).<\/p>\n<p>Nun geht es an die wichtigen Punkte:<\/p>\n<p>1. Index.php: Ansich wird hier nach dem Motto<\/p>\n<pre class=\"lang:default decode:true\">switch($_SERVER['HTTP_HOST']) { \r\n\r\n\/\/ Deutsch\r\ncase 'www.deutsch.de':\r\ncase 'deutsch.de':\r\n$_SERVER[\"MAGE_RUN_CODE\"] = \"deutsch\";\r\n$_SERVER[\"MAGE_RUN_TYPE\"] = \"website\";\r\nbreak;\r\n\r\n\/\/ Englisch\r\ncase 'www.englisch.de':\r\ncase 'englisch.de':\r\n$_SERVER[\"MAGE_RUN_CODE\"] = \"englisch\";\r\n$_SERVER[\"MAGE_RUN_TYPE\"] = \"website\";\r\nbreak;\r\n\r\n\/\/ Ansonsten (default store)\r\ndefault:\r\nbreak;\r\n}<\/pre>\n<p>vorgegangen. Diese Zeilen zwischen<\/p>\n<pre class=\"lang:default decode:true\">#ini_set('display_errors', 1);<\/pre>\n<p>und<\/p>\n<pre class=\"lang:default decode:true\">umask(0);<\/pre>\n<p>einf\u00fcgen<\/p>\n<p>Diese Einstellung funktioniert nun f\u00fcr den Fall, dass mit www. und ohne www. die URL aufgerufen wird und es sich um eine Website handelt, die wechseln soll. Soll aber nur ein Storeview aufgerufen werden und keine Website, gibt es das Problem, dass<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:default decode:true\">\/\/ English\r\ncase 'www.english.com':\r\n$_SERVER[\"MAGE_RUN_CODE\"] = \"english\";\r\n$_SERVER[\"MAGE_RUN_TYPE\"] = \"storeview\";\r\nbreak;<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: black;\">nicht funktionieren wird, da es bei Magento nicht m\u00f6glich ist, Storeviews \u00fcber den Befehl &#8220;storeview&#8221; aufzurufen. Total unlogisch aber dennoch funktionierend ist diese Version:<\/span><\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:default decode:true \">\/\/ English\r\ncase 'www.english.com':\r\n$_SERVER[\"MAGE_RUN_CODE\"] = \"english\";\r\nbreak;<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: black;\">Es wird also einfach die vorletzte Zeile komplett weg gelassen.<\/span><\/p>\n<p>Hiernach sollte durch den Wechsel des Storeviews im Frontend m\u00f6glicherweise schon die URL mitge\u00e4ndert werden. Auf der anderen Seite aber nat\u00fcrlich auch die angenehme Situation, dass beim Aufrufen der <a href=\"http:\/\/www.english.com\">www.english.com<\/a> der englische Storeview direkt aufgerufen wird.<\/p>\n<p>Sollte es noch nicht funktionieren, muss wahrscheinlich noch eine Kleinigkeit in der .htaccess ge\u00e4ndert werden:<\/p>\n<pre class=\"lang:default decode:true \">RewriteCond %{HTTP_HOST} !^www\\.english\\.com$\r\nRewriteCond %{HTTP_HOST} !^english\\.com$\r\nRewriteCond %{HTTP_HOST} !^www\\.deutsch\\.de$\r\nRewriteCond %{HTTP_HOST} !^deutsch\\.de$\r\nRewriteRule ^(.*)$ http:\/\/www.deutsch.de\/$1 [L,R=301]<\/pre>\n<p>Bei allem ist die Voraussetzung, dass <a href=\"http:\/\/www.deutsch.de\">www.deutsch.de<\/a> und der deutsche Storeview die Haupt- und Grunddomain ist.<\/p>\n<p>Weitere Informationen -auch zu neueren Magento Versionen gibt es in <a href=\"http:\/\/www.commercers.com\/blog\/magento-multistore-verschiedene-shops-uber-url-ansprechen\/\">diesem<\/a> und in <a href=\"http:\/\/www.commercers.com\/blog\/magento-multistore-einrichtung-mit-verschiedenen-urls-domains-bei-1-7\/\">diesem<\/a> Beitrag.<\/p>\n<p>Genutzt in Magento Versionen 1.4.1.0, 1.4.1.1 und 1.5<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Es ist ein viel besprochenes Problem: Wie \u00e4ndere ich anhand der URL den Storeview oder die Sprache? Man kann \u00fcber das Backend verschiedene Storeviews einrichten, die je nach Dropdowneinstellung im Frontend dann Aussehen und\/oder Sprache \u00e4ndern. Schwierig wird es aber, wenn man (auch aus Google Gr\u00fcnden) f\u00fcr einen Storeview eine andere Domain nutzen m\u00f6chte, als&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1,10],"tags":[130,49,128,129,127,3,126,125,24],"class_list":["post-320","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-allg_magento_probleme","tag-htaccess","tag-andern","tag-change","tag-index-php","tag-language","tag-magento","tag-sprache","tag-storeview","tag-url"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/posts\/320","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/comments?post=320"}],"version-history":[{"count":0,"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/posts\/320\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/media?parent=320"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/categories?post=320"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/tags?post=320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}