Skip to content

Instantly share code, notes, and snippets.

@mkay
Forked from netProphET/babelContextRouter.plugin.php
Last active August 29, 2015 14:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mkay/3d3ad18a617c02c308a8 to your computer and use it in GitHub Desktop.
Save mkay/3d3ad18a617c02c308a8 to your computer and use it in GitHub Desktop.
<?php
if($modx->context->get('key') != "mgr"){
/* grab the current langauge from the cultureKey request var */
switch ($_REQUEST['cultureKey']) {
case 'en':
/* switch the context */
$modx->switchContext('en');
break;
default:
/* Set the default context here */
$modx->switchContext('web');
break;
}
/* unset GET var to avoid
* appending cultureKey=xy to URLs by other components */
unset($_GET['cultureKey']);
}
site_url http://site.com/de/
base_url /de/
cultureKey de
--- also recommended to provide resource ids for the following settings
error_page (id)
site_start (id)
site_url http://site.com/en/
base_url /en/
cultureKey en
--- also recommended to provide resource ids for the following settings
error_page (id)
site_start (id)
set $lang de;
# choose the language that appears first in the accept_language header
if ($http_accept_language ~* "(de|en)") {
set $lang $1;
}
location ~ ^/$ {
rewrite ^ $lang/ redirect;
}
location ~ ^/(de|en) {
# redirect favicon.ico and assets/* requests to site root
rewrite ^/(de|en)/(favicon.ico|assets.*)$ /$2 redirect;
# main Babel rewrite
rewrite ^/(de|en)/(.*)$ /?cultureKey=$1&q=$2 break;
# MODX rewrite
try_files $uri $uri/ @modx-rewrite;
}
location / {
try_files $uri $uri/ @modx-rewrite;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment