Удостоверьтесь, что соответствующие пакеты языка установлены. Переместитесь центральному администратору по DB, откройте таблицу Webs и измените идентификатор языка.
Поскольку обзор поддерживаемых идентификаторов локали видит эту таблицу.
Мы используем это все время для тестирования, работает отлично. Посмотрите это сообщение в блоге.
Хорошо, я нашел решение. Nginx обрабатывает наиболее точное регулярное выражение, которое в данном случае является регулярным выражением для файлов php. Чтобы конфигурация работала, все дальнейшие местоположения должны быть определены в правиле / location за исключением @handler (вы не можете использовать какое-либо правило - только как root)
server {
listen 80;
server_name example.com;
root /var/www/example;
location / {
index index.html index.php; ## Allow a static html file to be shown first
try_files $uri $uri/ @handler; ## If missing pass the URI to front handler
expires 30d; ## Assume all files are cachable
allow my.public.ip;
deny all;
location ~ .php/ { ## Forward paths like /js/index.php/x.js to relevant handler
rewrite ^(.*.php)/ $1 last;
}
location ~ .php$ { ## Execute PHP scripts
if (!-e $request_filename) { rewrite / /index.php last; } ## Catch 404s that try_files miss
expires off; ## Do not cache dynamic content
fastcgi_pass 127.0.0.1:9001;
fastcgi_param HTTPS $fastcgi_https;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params; ## See /etc/nginx/fastcgi_params
}
}
location @handler { ## Common front handler
rewrite / /index.php;
}
}
Ваше местоположение @handler
совершенно ненужно и избыточно и, вероятно, является причиной проблемы. Это уже предусмотрено вашей существующей директивой index
и try_files
. Полностью удалите расположение
и исправьте try_files
.
try_files $uri $uri/ /index.php;