Мультисайт - как удалить корневой '/' сайт?


Я хочу установить WP на 3 языках: en, ro, ru

mysite.com/en
mysite.com/ro
mysite.com/ru

Я не был уверен, но установил WP в корневую папку.

Теперь мне нужно перенаправить посетителей на язык по умолчанию. Скажи "эн". И мне не нужно иметь 4 сайта на самом деле: /, /en/, /ro/, /ru/, но 3.

На самом деле ситуация такова

На самом деле я не могу "удалить" сайт "/"

Author: Community, 2010-10-31

2 answers

Я использую на корневом сайте небольшую тему для перенаправления на языки. Очень маленькая тема для поиска языка пользователей и перенаправления на блог этого языка.

<?php
// Browsersprache ermitteln
function lang_get_from_browser($allowed_languages, $default_language, $lang_variable = NULL, $strict_mode = TRUE) {
    // $_SERVER['HTTP_ACCEPT_LANGUAGE'] verwenden, wenn keine Sprachvariable mitgegeben wurde
    if ( NULL === $lang_variable )
        $lang_variable = $_SERVER['HTTP_ACCEPT_LANGUAGE'];

    // wurde irgendwelche Information mitgeschickt?
    if ( empty($lang_variable) ) 
        return $default_language;

    // Den Header auftrennen
    $accepted_languages = preg_split('/,\s*/', $lang_variable);

    // Die Standardwerte einstellen
    $current_lang = $default_language;
    $current_q    = 0;
    // Nun alle mitgegebenen Sprachen abarbeiten
    foreach ($accepted_languages as $accepted_language) {
        // Alle Infos dieser Sprache rausholen
        $res = preg_match(
            '/^([a-z]{1,8}(?:-[a-z]{1,8})*)'.
            '(?:;\s*q=(0(?:\.[0-9]{1,3})?|1(?:\.0{1,3})?))?$/i', 
            $accepted_language, 
            $matches
        );

        if (!$res)
            continue;

        // Sprachcode holen und dann sofort in die Einzelteile trennen
        $lang_code = explode('-', $matches[1]);

        // Wurde eine Qualität mitgegeben?
        if ( isset($matches[2]) )
            $lang_quality = (float)$matches[2];
        else
            $lang_quality = 1.0;

        // Bis der Sprachcode leer ist...
        while (count ($lang_code)) {
            // mal sehen, ob der Sprachcode angeboten wird
            if (in_array ( strtolower( join('-', $lang_code) ), $allowed_languages) ) {
                // Qualität anschauen
                if ($lang_quality > $current_q) {
                    $current_lang = strtolower( join('-', $lang_code) );
                    $current_q = $lang_quality;
                    break;
                }
            }
            // Wenn wir im strengen Modus sind, die Sprache nicht versuchen zu minimalisieren
            if ($strict_mode)
                break;

            // den rechtesten Teil des Sprachcodes abschneiden
            array_pop($lang_code);
        }
    }

    return $current_lang;
}

$allowed_langs = array('en', 'de');
$lang = lang_get_from_browser($allowed_langs, 'en', NULL, FALSE);

if ( 'de' === $lang )
    Header("Location: http://wpbasis.de/readme-de_DE.php");
else
    Header("Location: http://wpbasis.de/readme-en_US.php");
exit();
?>
 6
Author: bueltge, 2010-10-31 21:17:41

Просто оставьте его и разместите на нем перенаправление?

 2
Author: edelwater, 2010-10-31 17:08:12