Hallo,
sitz seit Stunden über einer RegEx ... bekomms einfach nicht hin ..
Also.. was ich möchte:
Ich nehm als Subject die Regex_Uri, gematcht werden soll der sprachcode ... also de, en, fr oder sonstwas .. wenn nicht vorhanden ... Sprachcode aus der Browser accept-language und dann redirecten
Nun können die URL folgendermaßen aussehen ...
example.com -> example.com/de/
example.com/portfolio -> example.com/de/portfolio
Erkannt wird auch, wenn:
example.com/de/ oder example.com/de/portfolio, so erfolgt halt kein redirect.
NICHT erkannt wird allerdings:
example.com/de also einfach nur ohne abschließendes Slash ...
Dumm natürlich, weil die meisten User zu faul sind um den letzten Slash zu tippen..ergo kann ich darauf nicht verzichten ...
Ich verwende zur Zeit folgenden Code:
	
Die Konstante WWW_ROOT enthält lediglich http://example.com.
Wäre super, wenn mir jemand helfen könnte, verzweifel allmählich..
Grüße, Dennis
					sitz seit Stunden über einer RegEx ... bekomms einfach nicht hin ..
Also.. was ich möchte:
Ich nehm als Subject die Regex_Uri, gematcht werden soll der sprachcode ... also de, en, fr oder sonstwas .. wenn nicht vorhanden ... Sprachcode aus der Browser accept-language und dann redirecten
Nun können die URL folgendermaßen aussehen ...
example.com -> example.com/de/
example.com/portfolio -> example.com/de/portfolio
Erkannt wird auch, wenn:
example.com/de/ oder example.com/de/portfolio, so erfolgt halt kein redirect.
NICHT erkannt wird allerdings:
example.com/de also einfach nur ohne abschließendes Slash ...
Dumm natürlich, weil die meisten User zu faul sind um den letzten Slash zu tippen..ergo kann ich darauf nicht verzichten ...
Ich verwende zur Zeit folgenden Code:
PHP-Code:
	
	
$url_request = $_SERVER['REQUEST_URI'];
if(!preg_match('&(([a-z]{2})+)/&', $url_request, $matches) || 
   !preg_match('&(([a-z]{2})+)?/&', $url_request, $matches)) {
    if(strstr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 'de')) {
        $user_lang = 'de';
    } else {
        $user_lang = 'en';
    }
    $header = WWW_ROOT . '/'.$user_lang . $url_request;
    header("Location: $header");
} 
Wäre super, wenn mir jemand helfen könnte, verzweifel allmählich..
Grüße, Dennis
 
          
 Moderator
 Moderator
 Der tut nur was man ihm sagt...
 Der tut nur was man ihm sagt...  
							
						
Kommentar