Sprachwechsel führt zu /de/de bzw. /en/en

Hallo, ich habe ein Problem mit dem Sprachwechsel. Sobald ich hier wechsele, wird die Startseite mit doppelter Sprache in der url aufgerufen, was zu einer Fehlerseite führt. Beim Wechsel von de auf en erhalte ich dann www.domain.de/en/en und beim Wechsel von en auf de kommt dann www.domain.de/de/de Was ich bereits herausgefunden habe, ist, dass dieses Problem auftritt, wenn ssl überall aktiv ist. Sobald ich das deaktiviere, klappt es wieder richtig. Was läuft hier falsch, kann das an der .htaccess liegen? Diese sieht so aus: [code]
RewriteEngine on

#RewriteBase /shopware/

Https config for the backend

RewriteCond %{HTTPS} !=on
RewriteRule backend/(.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteRule shopware.dll shopware.php
RewriteRule files/documents/.* engine [NC,L]
RewriteRule backend/media/(.*) media/$1 [NC,L]

RewriteCond %{REQUEST_URI} !(/(engine|files|templates)/)
RewriteCond %{REQUEST_URI} !(/media/(archive|banner|image|music|pdf|unknown|video)/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ shopware.php [PT,L,QSA]

Fix missing authorization-header on fast_cgi installations

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L][/code]

Ansonsten hab ich im Backend noch die Einstellung virtuelle url /de bzw /en.

Gibt es noch weitere Einstellungen, die zu beachten sind?

Bei mir das selbe Problem. Beim Sprechwechsel auf EN erhalte ich www.domain.de/shop/en/shop/en/ Sobald ich aber dann in eine Kategorie wechsel wird wieder alles korrekt angezeigt: www.domain.de/shop/en/kategorie Allerdings bleibt bei mir, beim Wechsel zurück auf DE, www.domain.de/shop/en/shop/en/ stehen, muss dann erst immer die Seite neuladen damit wieder: www.domain.de angezeigt wird. Bei mir läuft der Shop ebenfalls komplett auf SSL. In den Backendeinstellungen habe ich nur /shop/en als virtuelle URL hinterlegt. Meine .htaccess: [code]
RewriteEngine on

#RewriteBase /shopware/

Https config for the backend

#RewriteCond %{HTTPS} !=on
#RewriteRule backend/(.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteRule shopware.dll shopware.php
RewriteRule files/documents/.* engine [NC,L]
RewriteRule backend/media/(.*) media/$1 [NC,L]

RewriteCond %{REQUEST_URI} !(/(engine|files|templates)/)
RewriteCond %{REQUEST_URI} !(/media/(archive|banner|image|music|pdf|unknown|video)/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ shopware.php [PT,L,QSA]

Immer auf URL mit Trailing Slash umleiten

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !example.php
RewriteCond %{REQUEST_URI} !(.*)/ RewriteRule ^(.*) http://irondepartment.de/$1/ [L,R=301]

mehrere Trailing Slashes am Ende cutten

RewriteCond %{REQUEST_URI} ^(.)//(.)$
RewriteRule . %1/%2 [R=301,L]

mehrere Trailing Slashes nach der Domain und in der Domain cutten

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ //+([^])
RewriteRule .
http://www.irondepartment.de/%1 [R=301,L]

Fix missing authorization-header on fast_cgi installations

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
# Staging-Rules start #SetEnvIf Host „staging.test.shopware.in“ ENV=staging DirectoryIndex index.html DirectoryIndex index.php DirectoryIndex shopware.php # Disables download of configuration
Deny from all
# Enable gzip compression
AddType text/css .css
AddType text/javascript .js
AddOutputFilterByType DEFLATE text/html text/xml text/plain text/css text/javascript application/json
# Netscape 4.x workaround
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 workaround
BrowserMatch ^Mozilla/4.0[678] no-gzip
# MSIE workaround
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# Bilder nicht komprimieren
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
# Sicherstellen dass Proxies nicht den falschen Inhalt ausliefern
Header append Vary User-Agent env=!dont-vary

ExpiresActive On
ExpiresByType image/gif „access plus 7 days“
ExpiresByType image/ico „access plus 7 days“
ExpiresByType image/jpeg „access plus 7 days“
ExpiresByType image/jpg „access plus 7 days“
ExpiresByType image/png „access plus 7 days“
ExpiresByType text/css „access plus 7 days“
ExpiresByType text/javascript „access plus 7 days“
ExpiresByType application/x-javascript „access plus 7 days“
ExpiresByType application/javascript „access plus 7 days“
ExpiresByType application/x-shockwave-flash „access plus 1 months“
# Disables auto directory index
Options -Indexes

Options -MultiViews

php_value memory_limit 128M

php_value max_execution_time 120

php_value upload_max_filesize 20M

php_flag phar.readonly off
php_flag magic_quotes_gpc off
php_flag session.auto_start off
php_flag suhosin.session.cryptua off
php_flag zend.ze1_compatibility_mode off
# AddType x-mapp-php5 .php # AddHandler x-mapp-php5 .php # Liste der Dateiendungen die als PHP5.4 verarbeitet werden sollen AddHandler php-fastcgi5.4 .php .phtml # block visitors referred from semalt.com RewriteEngine on RewriteCond %{HTTP_REFERER} semalt.com [NC] RewriteRule .* - [F]
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp

      BrowserMatch ^Mozilla/4 gzip-only-text/html
      BrowserMatch ^Mozilla/4\.0[678] no-gzip
      BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent env=!dont-vary [/code]

Du kannst beim deutschen Shop auch noch shop/de hinterlegen als virtuelle url. Dann wirst du nach dem wechsel von en auf de das gleiche haben wie ich-. Sobald man wieder auf ne Kategorie oder Shopseite wechselt, ist es wieder ok. Für mich sieht es so aus, als müsste da an der .htaccess was getan werden oder eine andere Einstellung im Backend angepasst werden, sonst müsste das Problem ja jeder haben. Ggf. ist es auch ne falsche Servereinstellung? Zumindest wird mir alles grün angezeigt unter den Infos, also so viel kann es nicht sein. Vtl. kennt sich ja jemand mit dem Thema aus und gibt uns einen Hinweis.

[quote=“ChriMaLuxe”]Du kannst beim deutschen Shop auch noch shop/de hinterlegen als virtuelle url. Dann wirst du nach dem wechsel von en auf de das gleiche haben wie ich-. Sobald man wieder auf ne Kategorie oder Shopseite wechselt, ist es wieder ok. Für mich sieht es so aus, als müsste da an der .htaccess was getan werden oder eine andere Einstellung im Backend angepasst werden, sonst müsste das Problem ja jeder haben. Ggf. ist es auch ne falsche Servereinstellung? Zumindest wird mir alles grün angezeigt unter den Infos, also so viel kann es nicht sein. Vtl. kennt sich ja jemand mit dem Thema aus und gibt uns einen Hinweis.[/quote] Hallo ChriMaLuxe, ok, aber warum sollte ich beim deutschen Shop noch ne virtuelle URL hinterlegen? Das ist ja mein Hauptshop, der soll ja ganz normal über www.domain.de erreichbar sein, daher habe ich da auch keine virtuelle URL hinterlegt. Einstellungen sind bei mir ebenfalls alle Grün. Habe aber auch absolut keine Ahnung warum das nun so ist. Wäre wirklich super wenn jemand dazu etwas sagen könnte…

Hi Das Problem liegt bei Shopware und das hat hier jeder bei Sprachshops. Ich habe vor ein paar Monaten schon ein Ticket hinterlegt und hoffe das es auch mal abgearbeitet wird.

[quote=„FrankBartsch“]Hi Das Problem liegt bei Shopware und das hat hier jeder bei Sprachshops. Ich habe vor ein paar Monaten schon ein Ticket hinterlegt und hoffe das es auch mal abgearbeitet wird.[/quote] Hi, hast du gerade vielleicht einmal einen Link zum Ticket? Dann kann man mal eben voten, wäre super. Gruß

Ich hab jetzt mal in der .htaccess ergänzt: #redirections for ssl urls Redirect 301 /de/de/ https://www.domain.de/de/ Redirect 301 /en/en/ https://www.domain.de/en/ Damit umgeht man zumindest mal den 404 Fehler.

1 „Gefällt mir“

[quote=“ChriMaLuxe”]Ich hab jetzt mal in der .htaccess ergänzt: #redirections for ssl urls Redirect 301 /de/de/ https://www.domain.de/de/ Redirect 301 /en/en/ https://www.domain.de/en/ Damit umgeht man zumindest mal den 404 Fehler.[/quote] Super, habe ich auch gerade einmal gemacht, das sieht doch gleich viel besser aus! :thumbup: Bleibt also noch das Problem beim zurückwechseln von en auf de, dass sich die URL nicht ändert und erstmal auf /en bleibt, bis man die Seite neulädt. Und die Artikel einer anderen Sprache per Direktlink aufzurufen funktioniert auch nicht, dann lande ich einfach nur auf der Startseite des Hauptshops: Also der Aufruf von www.domain.de/shop/en/kategorie/artikel funktioniert nicht sondern leitet mich auf www.domain.de Wobei die sprachshop URL www.domain.de/shop/en/kategorie/artikel in der Browserzeile stehen bleibt.

[quote=„trixx“] Also der Aufruf von http://www.domain.de/shop/en/kategorie/artikel funktioniert nicht sondern leitet mich auf http://www.domain.de Wobei die sprachshop URL http://www.domain.de/shop/en/kategorie/artikel in der Browserzeile stehen bleibt.[/quote] Das liegt sicher am Session-Handling. Du kommst immer auf die Startseite, wenn du die Sprache wechselst, da dann ne neue Session vergeben wird. Daher kannst du nie direkt nen Link in ner anderen Sprache aufrufen. Nur, wenn du bereits in der Sprache bist, wirst du auch die Diretlinks nutzen können.

[quote=“ChriMaLuxe”][quote=“trixx”] Also der Aufruf von http://www.domain.de/shop/en/kategorie/artikel funktioniert nicht sondern leitet mich auf http://www.domain.de Wobei die sprachshop URL http://www.domain.de/shop/en/kategorie/artikel in der Browserzeile stehen bleibt.[/quote] Das liegt sicher am Session-Handling. Du kommst immer auf die Startseite, wenn du die Sprache wechselst, da dann ne neue Session vergeben wird. Daher kannst du nie direkt nen Link in ner anderen Sprache aufrufen. Nur, wenn du bereits in der Sprache bist, wirst du auch die Diretlinks nutzen können.[/quote] Ah ok, verstehe, danke! Habe es auch gerade einmal getestet. Sprache gewechselt auf en und Artikel URL aus Sprachshop aufgerufen und ich wurde auch korrekt zum Artikel geleitet. Wäre trotzdem cooler wenn das alles automatisch wechseln würde bzw. der Kunde auch auf der Seite bleibt auf der er sich gerade befindet, wenn er die Sprache wechselt und nicht wieder auf die Startseite geschmissen wird. @ :shopware: