Die habe ich installiert, aber das klappt auch nicht. Erst wenn ich die Sprache wechsel bzw. auf die Flagge klicke, dann sind alle Domains mit de oder en, aber wenn ich die Url einfach so aufrufe www.domain.de dann ist halt kein de oder en drinnen.
Meine Konfiguration für rlmp ist:
plugin.tx_rlmplanguagedetection_pi1 {
useOneTreeMethod = 1
defaultLang = de
}
hast du den Thread schon gelesen?
#67175
insbesondere der Teil .htaccess wird dein Problem sicher lösen
# Wenn keine Sprache gesetzt ist, wird eine Sprache gesetzt
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteCond %{REQUEST_URI} !^/de/(.*)$
+ RewriteCond %{REQUEST_URI} !^/en/(.*)$
+ RewriteRule ^(.*)$ /de/ [L,R=301]
Ok das habe ich mal in die .htaccess eingefügt und da bekomme ich prompt einen 500 Internal Server Error, nachdem ich die + entfernt habe funktioniert es. Wobei er aber bei der einen Domain sofort in ein Untermenü springt was mir schleiferhaft ist.
Als Standard ist ja auch de eingetragen. Kann ich das für eine Domain rausnehmen bzw. so bestimmen, dass dieser Code nur für bestimmte Domains gelten soll?
ja die "+" müssen weg 😉
musste mal das versuchen.
#Wenn keine Sprache gesetzt ist, wird eine Sprache gesetzt
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^deineDomain.de/de/(.*)$
#RewriteCond %{REQUEST_URI} !^/en/(.*)$
RewriteRule ^(.*)$ deineDomain.de/de/ [L,R=301]
musste bisschen rumversuchen
Das ist einfach konfigurier bar ohne Änderungen an der .htaccess. Wenn ich gleich vor meinem Notebook Sitze schicke ich dir die Lösung. Bis dahin bring deine .htaccess wieder in normal Zustand ;-)
'preVars' => array(
array(
'GETvar' => 'no_cache',
'valueMap' => array(
'no_cache' => 1,
),
'noMatch' => 'bypass',
),
array(
'GETvar' => 'L',
'valueMap' => array(
'de' => '0',
'en' => '1',
'fr' => '2',
),
'valueDefault' => 'de',
),
),
Das sollte vollkommen ausreichen... Dann einmal den RealUrl Cache löschen!
Beim aufrufen der Domain sieht das dann so aus: www.domain.de/ sobald du den ersten Link klickst fügt sich /de dran.
Ich wende das So erfolgreich an. Wenn es nicht gib ein laut von dir :-)
/** Edit **/
Ich sehe gerade das du
'emptyUrlReturnValue' => '/',
ändere das in
'emptyUrlReturnValue' => 1,
Ok dann gebe ich mal einen laut von mir. Habe das geändert, den RealURL Cache gelöscht, aber keine Veränderung. Muss immer noch die Flagge anklicken, damit /de/ drinnen steht.
Nach dem es nicht funktioniert bei dir habe ich mir die mühe gemacht es bei mir in meine Installation einzufügen zu testen.
So funktioniert es nicht:
'preVars' => array(
array(
'GETvar' => 'no_cache',
'valueMap' => array(
'no_cache' => 1,
),
'noMatch' => 'bypass',
),
array(
'GETvar' => 'L',
'valueMap' => array(
'de' => '0',
'en' => '1',
'ru' => '2',
'cn' => '3',
),
'valueDefault' => 'de',
'noMatch' => 'bypass',
),
),
So funktioniert es:
'preVars' => array(
array(
'GETvar' => 'no_cache',
'valueMap' => array(
'no_cache' => 1,
),
'noMatch' => 'bypass',
),
array(
'GETvar' => 'L',
'valueMap' => array(
'de' => '0',
'en' => '1',
'ru' => '2',
'cn' => '3',
),
'valueDefault' => 'de',
),
),
RealUrl hat sein eigenes Caching.
Wie gesagt in meinem Projekt läuft deine Konfig so.
Die AOE Realurl Path Cache Infos kann mehr. Aber hier würde sie nur verwändet um den RealUrl Cache zu löschen.
Cool danke jetzt hat es geklappt. Hatte den Teil geändert, aber dann gab es noch ein größeres Problem und nach der Installation der Extension klappt es.
Noch ein kleiner Tipp die Extension die du nun verwändest ist noch viel mächtiger.
Um dies voll ausnutzen zu können ersetze deine 'pagePath' mit:
'pagePath' => array (
'type' => 'user',
'userFunc' => 'EXT:aoe_realurlpath/class.tx_aoerealurlpath_pagepath.php:&tx_aoerealurlpath_pagepath->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'rootpage_id' => '1',
'segTitleFieldList'=>'alias,tx_aoerealurlpath_overridesegment,nav_title,title,subtitle',
),
Wenn du das hinzugefügt hast kannst du in den Page Settings unter Extended das "override url path" & "eclude from middle of paths" & "override pathsegment(filename)" nutzen. Das bietet dir insgesamt mehr möglichkeiten als die einstellungen unter "General".
!!!Beachte: Wenn du das gesetzt hast ignoriert er die einstellungen unter generel. Diese könntest du ja peer TSconfig wegkonfigurieren.