Задать вопрос

Можно ли сделать редирект ссылки на файл без полного пути?

Есть два пути, в конце которых ссылки на разные файлы
domain.com/img/i/image1.png
domain.com/img/i/image1.png
domain.com/img/i/image1.png
domain.com/file/f/image1.dll
domain.com/file/f/image2.zip


Можно ли сделать редирект или может какой-то "хак", чтобы получать
domain.com/image1.png
domain.com/image2.png
domain.com/image3.png
domain.com/image1.dll
domain.com/image2.zip


Если да то как?
  • Вопрос задан
  • 54 просмотра
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 1
@dodo512
Если нужно на запрос /image1.png отдать файл /img/i/image1.png.
Путь к файлу формируется путём простого добавления URI к значению директивы root.
Например, файлы:
/var/www/img/i/image1.png
/var/www/file/f/image1.dll
/var/www/file/f/image2.zip

location ~ ^/[^/]+\.png$ {
    root /var/www/img/i;
}

location ~ ^/[^/]+\.(?:dll|zip)$ {
    root /var/www/file/f;
}


Если с /img/i/image1.png на /image1.png нужен редирект с кодом 301.

location ~ ^/img/i(/[^/]+\.png)$ {
    return 301 $1;
}

location ~ ^/file/f(/[^/]+\.(?:dll|zip))$ {
    return 301 $1;
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы