у меня 2 разных сайта
www.example1.com
www.example2.com
у каждого из них есть папка, например
https://www.example1.com/store/test/en/test/ANYCATEGORY/ANDCATEGORY/OPTIONALCATEGORY/PROGRAMNAME/p/100002020
https://www.example2.com/store/test/en/test/ANYCATEGORY/ANDCATEGORY/OPTIONALCATEGORY/PROGRAMNAME/p/100002020
Идея состоит в том, чтобы применить правило nginx, которое соответствует 2 условиям: host и uri, если в конце нет .html
Это то, что у меня есть для добавления .html, если в настоящее время нет .html
location ~ ^(?=.*\/p\/)(?!.*\.html$).+$ {
try_files $uri $uri/ @rewrite;
}
location @rewrite {
rewrite ^(.+)$ $1.html permanent;
}
Я хочу применить вышеуказанное условие только к www.example2.com, а НЕ к www.example1.com
как это возможно? Я пробовал несколько вещей, но местоположение, кажется, имеет дело только с URI, а не с $ host / $ uri?
Я пробовал ниже:
location ~ ^https://(?![example1])(?=.*\/p\/)(?!.*\.html$).+$
но это не работает.
Тоже попробовал без удачи
set $tmp '';
if ($http_origin ~ "^https?://(?!(oasis-)).*") {
set $tmp 1;
}
if ($request_uri ~ ^(?=.*\/p\/)(?!.*\.html$).+$) {
set $tmp "${tmp}1";
}
if ($tmp = 11) {
rewrite ^(.+)$ $1.html permanent;
}