Попытка добиться постоянного языкового кода в 1-м сегменте URL-адреса с конфигурацией местоположения регулярного выражения nginx и не смогла найти правильный синтаксис.
Необходимый результат:
В настоящее время я обнаружил этот код, но он все еще где-то застрял. Он создает постоянный цикл и не использует аргумент $ 1.
location ~ "^/(?![a-z]{2}/)(.+)$" {
rewrite / /en/$1 permanent;
}
#Using handler here for removing index.php in uri (example.com/index.php -> example.com);
location / {
index index.htm index.html index.php;
try_files $uri $uri/ @handler;
}
location @handler {
rewrite / /index.php?$query_string;
}
ОБНОВИТЬ: Ответ можно найти в этом вопросе: https://stackoverflow.com/a/33913261/2662849
В @handler
location перепишет URI на /index.php
который затем перенаправляется на /en/index.php
, который (если он не существует) вызывает @handler
расположение.
Читать этот документ потому что вам нужно что-то для обработки PHP. Цикл перенаправления вызван тем, что файл или обработчик не существует. Вам необходимо определить местоположение для обработки файлов PHP, либо другое местоположение регулярного выражения, либо ваше указанное местоположение.