У меня есть сайт spanish.com
. Я хочу, чтобы пользователи загружали страницы в каталог "es", т. Е. spanish.com/es
. Например:
Пользователи должны видеть: spanish.com
но spanish.com/es
загружен
Пользователи видят spanish.com/samplepage
но spanish.com/es/samplepage
загружен
Я попытался
server {
listen 80;
server_name www.spanish.com;
return 301 $scheme://spanish.com$request_uri;
}
server {
listen 80;
server_name spanish.com;
limit_conn arbeit 32;
rewrite ^(.*)$ http://$host/es/$1 permanent;
## Access and error logs.
access_log /var/log/nginx/spanish.com_access.log;
error_log /var/log/nginx/spanish.com_error.log;
...
}
но это приводит к бесконечным перенаправлениям на http://spanish.com/es/es/es/es/es/es/es/...
ОБНОВИТЬ
кроме того, как исключить файлы из правила перезаписи? Как в апаче?
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Вот как я это пережил:
## for the homepage
location = / {
rewrite ^ /es;
}
## for the rest of the pages, excluding locations beginning
## with /<2char-lang-prefix>/*
## also excludes locations having only 3 characters, e.g. "/nb"
location ~* "^/(?!.{2,2}/).{3}.*$" {
rewrite "^/(.*)$" /es/$1;
}