diff --git a/redirect.admin.inc b/redirect.admin.inc index a6610d5..4e859ed 100644 --- a/redirect.admin.inc +++ b/redirect.admin.inc @@ -683,6 +683,14 @@ function redirect_settings_form($form, &$form_state) { '#title' => t('Allow redirections on admin paths.'), '#default_value' => variable_get('redirect_global_admin_paths', 0), ); + if (module_exists('locale')) { + $form['globals']['redirect_global_language_prefix'] = array( + '#type' => 'checkbox', + '#title' => t('Enforce Language Prefix'), + '#description' => t('Enforce language prefix in paths.'), + '#default_value' => variable_get('redirect_global_language_prefix', 0), + ); + } $form['submit'] = array( '#validate' => array('redirect_settings_form_validate'), diff --git a/redirect.module b/redirect.module index 18841a3..a98e405 100644 --- a/redirect.module +++ b/redirect.module @@ -401,6 +401,13 @@ function redirect_init() { redirect_redirect((object)array('redirect' => $request_uri . '/', 'type' => 'global')); } + // Force langauge prefix. + if (variable_get('redirect_global_language_prefix', 0) && module_exists('locale')) { + list($language, $raw_path) = language_url_split_prefix($request_uri, language_list()); + if (!$language) { + redirect_redirect((object)array('redirect' => $request_uri, 'type' => 'global')); + } + } } /**