header("Location: " . $lang . "/"); } else { if (array_key_exists($parts[1], $config->getLanguages())) { // global pages $request->setLang($parts[1]); $content_lang = $request->getQueryParam('clang'); $request->setContentLang($content_lang); $parts[2] == 'about' || $parts[2] == 'feedback' || $parts[2] == 'search' ? $request->setPage($parts[2]) : $request->setPage(''); if ($request->getPage() == '') { $controller->invokeVocabularies($request); } elseif ($request->getPage() == 'about') { $controller->invokeAboutPage($request); } elseif ($request->getPage() == 'feedback') { $controller->invokeFeedbackForm($request); } elseif ($request->getPage() == 'search') { $controller->invokeGlobalSearch($request); } else { $controller->invokeGenericErrorPage($request); } } else { // vocabulary-specific pages $vocab = $parts[1]; try { $request->setVocab($parts[1]); } catch (Exception $e) { $request->setLang($controller->guessLanguage()); $controller->invokeGenericErrorPage($request); return; } if (sizeof($parts) == 3) { // language code missing