多站点-如何删除根‘/’站点?

时间:2010-10-31 作者:serhio

我想用3种语言安装WP:en、ro、ru

mysite.com/en
mysite.com/ro
mysite.com/ru
我不确定,但在根文件夹中安装了WP。

现在我需要将访问者重定向到默认语言。说“en”。实际上,我不需要有4个站点:/, /en/, /ro/, /ru/, 但是3。

情况实际上是这样的

实际上,我无法“删除”该“/”站点

2 个回复
最合适的回答,由SO网友:bueltge 整理而成

我在根站点上使用了一个小主题来重定向到语言。一个非常小的主题,用于定位用户的语言并重定向到该语言的博客。

<?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();
?>

SO网友:edelwater

只需留下它并在其上放置重定向?

结束

相关推荐

导入到WordPress MultiSite时禁用HTML过滤

我正在迁移到WordPress多站点实例的许多站点都在帖子中嵌入了视频和iFrame。我宁愿禁用WordPress功能,在导入时去掉嵌入的内容,而不是将每篇文章转换为犹太教式的视频嵌入方式。编辑帖子时禁用剥离是as simple as disabling the kses filter. 不幸的是,我不知道导入帖子需要禁用什么。目前我怀疑wp\\u insert\\u post()方法,但没有缩小过滤器的范围。有什么想法吗?Update: 这是特定于WordPress Multisite的。导入到单个Wo