Реклама на сайте Advertise with us

Переименование файлов при отдаче с хостинга

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Считаю до трех

С нами с 23.03.05
Сообщения: 12353
Рейтинг: 2918

Ссылка на сообщениеДобавлено: 26/03/21 в 16:47       Ответить с цитатойцитата 

Задача такая - на сервере лежит папка с картинками, которую используют все домены (через альясы). В итоге имена картинок на всех доменах одинаковые (а также одинаковые пути). Можно ли как-то изменять имена для каждого домена?
Гугление никаких особых вариантов не дало.
Первое что в голову пришло - отдавать через php, но вариант так себе.

Если кто-то сталкивался с подобной задачей, то буду благодарен за подсказку хотя бы в какую сторону копать.

0
 



С нами с 12.05.18
Сообщения: 147
Рейтинг: 135

Ссылка на сообщениеДобавлено: 27/03/21 в 00:54       Ответить с цитатойцитата 

Цитата:
Гугление никаких особых вариантов не дало.


Очень странно icon_cool.gif

в location nginx можно использовать регулярные выражения, соотвественно делаешь что-то вроде:

Код:

location ~ ^/images/(a-zA-Z0-9)/(?<filename>.*)$ {
    alias /root/images/$filename;
}


на сайтах линки /images/porn/001.jpg, /images/sex/001.jpg будут вести в одно место. По аналогии можешь сделать с самим именем файла.

9
 



С нами с 29.11.14
Сообщения: 254
Рейтинг: 575


Передовик Master-X (01.02.2021) Передовик Master-X (16.02.2021) Передовик Master-X (01.04.2021) Передовик Master-X (16.04.2021) Передовик Master-X (16.06.2022) Ветеран трепа Master-X (01.12.2022)
Ссылка на сообщениеДобавлено: 27/03/21 в 08:47       Ответить с цитатойцитата 

если к директории картинок применяются другие директивы такие как location и то можно еще заюзать

rewrite ^/images/[^/]+/.*\.jpg$ /images/real/$1 last;

так как этот реврайт с ластом в конце не ломает try_files, а алиас может помешать остальным правилам

Последний раз редактировалось: xjam (27/03/21 в 09:03), всего редактировалось 1 раз

| Ускорю ваш KVS в 10 раз | KVS CLUB |

9
 



С нами с 29.11.14
Сообщения: 254
Рейтинг: 575


Передовик Master-X (01.02.2021) Передовик Master-X (16.02.2021) Передовик Master-X (01.04.2021) Передовик Master-X (16.04.2021) Передовик Master-X (16.06.2022) Ветеран трепа Master-X (01.12.2022)
Ссылка на сообщениеДобавлено: 27/03/21 в 09:00       Ответить с цитатойцитата 

Если нужно поменять названия файлов тоже, то из очевидных вариантов создать map с именами фейковых и реальных картинок, и реврайтить.

| Ускорю ваш KVS в 10 раз | KVS CLUB |

9
 

Считаю до трех

С нами с 23.03.05
Сообщения: 12353
Рейтинг: 2918

Ссылка на сообщениеДобавлено: 27/03/21 в 13:23       Ответить с цитатойцитата 

Мне собственно имена файлов менять и нужно. Картинок порядка 1 миллиона, потому записывать таблицы вида староеимя=новоеимя не вариант.

0
 



С нами с 12.05.18
Сообщения: 147
Рейтинг: 135

Ссылка на сообщениеДобавлено: 27/03/21 в 19:37       Ответить с цитатойцитата 




в nginx map так-же можно использовать regexp, так что не нужно миллион записей в ней делать, а всего лишь правила.

8
 



С нами с 12.05.18
Сообщения: 147
Рейтинг: 135

Ссылка на сообщениеДобавлено: 28/03/21 в 04:50       Ответить с цитатойцитата 

Чет не спалось и для проверки своих слов решил протестить)
Запросы

/images/sex-001.jpg
/images/porn-001.jpg
/images/fuck-001.jpg

Показывают файл images/001.jpg

Это вариант с мапами nginx

Исходя из этого можешь регекспами построить мапы под себя. smail54.gif

Код:

map $request_uri $real_image_name{
        "~^(\/images\/sex-(?<img>(.*)))$" $img;
        "~^(\/images\/porn-(?<img>(.*)))$" $img;
        "~^(\/images\/fuck-(?<img>(.*)))$" $img;

         default default.jpg;

}

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name  _;
    server_tokens off;

    location  ~ ^/images/(.*)\.jpg$ {
       alias /var/www/images/$real_image_name;
    }


}

9
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »