У меня есть такие картинки на дорожке:
/0/1/2/3/4/01234/screenshots/1.jpg
URL для доступа к нему выглядит так:
/static/0/1/2/3/4/01234/screenshots/1.jpg
Я бы хотел, чтобы это выглядело так:
/0/1/2/3/4/01234/a-desc-of-the-picture/screenshots/1.jpg
Или что-то подобное. Цель состоит в том, чтобы ключевые слова были в URL для SEO.
Но хотел бы сказать nginx для обслуживания
/0/1/2/3/4/01234/screenshots/1.jpg
Когда он видит:
/0/1/2/3/4/01234/a-desc-of-the-picture/screenshots/1.jpg
Я не хочу, чтобы он перенаправлял пользователя на правильный URL-адрес, я просто хочу, чтобы он выполнял внутреннее сопоставление.
Является ли это возможным ? Как я могу этого добиться?
Я видел нечто подобное Вот, но я не могу найти способ применить это в моем случае. Было бы очень полезно что-нибудь дружелюбное к новичкам.
Предполагая, что у вас есть регулярный базовый путь, вы можете сделать что-то вроде:
location ~ ^/static/(././././.....)/[^/]+/(.*)$ {
alias /location/on/filesystem/$1/$2;
}
Nginx's директива псевдонима более гибок, чем эквивалент Apache.