Я разработал сайт, который показывает некоторые товары из магазина. URL-адрес сайта выглядит следующим образом:
http://testsite.com
Сайт имеет функцию совместного использования продукта (он уже работает), генерируя ссылку, которой можно поделиться на Facebook, WhatsApp или в любом другом месте. Ссылка на общий продукт:
http://testsite.com/product/1234
Где 1234 - идентификатор продукта. Все продукты имеют изображения с идентификатором. Пример: 1234.jpg. Ссылка на изображение идентификатора продукта 1234:
http://testsite.com/static/imgs/1234.jpg
Этот сайт размещен на простом сервере NGINX, который просто предоставляет файлы.
Во главе моего индекса. html файл У меня есть og: изображение по умолчанию для обмена:
<meta property="og:image" content="http://testsite.com/static/imgs/main.jpg">
Я хочу, чтобы сервер NGINX заменил это og: изображение по умолчанию на изображение с общим идентификатором. Я уже знаю, как это сделать в NGINX. В файле конфигурации NGINX (/etc/nginx/conf.d/default.conf) я использовал опцию sub_filter. Мой файл конфигурации NGINX:
server {
listen 80;
server_name *.testsite.com;
root /var/www/testsite.com/dist;
location / {
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
location ~ /product/(.*) {
index index.html index.htm;
try_files $uri $uri/ /index.html;
sub_filter 'http://testsite.com/static/imgs/main.jpg'
'http://testsite.com/static/imgs/$1.jpg';
sub_filter_once on;
}
}
Эта конфигурация работает для местоположения / , но для местоположения ~ /product/(.*) этоне работает.
Когда я проверяю параметр sub_fiter в расположении / , используя любое другое изображение, оно заменяет его правильно.
ВОПРОСЫ:
1) Как получить идентификатор продукта (1234) по URL-адресу (http://testsite.com/product/1234)? $ 1 не работает.
2) Iподумайте, что при входе в местоположение ~ /product/(.*) он также перенаправляет на местоположение / . Как я могу исправить этот файл конфигурации, чтобы он работал как положено?