Задать вопрос
PankovAlxndr
@PankovAlxndr
Fullstack web developer

Как исключить URL из правила редиректа?

Здравствуйте, у меня в nginx есть конфиг
1) добавляем слеш в конец урла
2) если запрашиваем с /index.php то его нужно удалить
location / {
	if (!-f $request_filename) { rewrite ^([^.]*[^/])$ $1/ permanent; }
	if (!-f $request_filename) { rewrite ^(.*)/index.php$ $1/ redirect; }
}

Сейчас подключаю на сайт Яндекс Маркет через api
сам яндекс может запрашивать у меня остатки по url
https://DOMAIN.ru/marketplace/api/stocks
как вы видете, он без слеша, nginx туда фигачит слеш и отдает 301 редирект яндексу

а мне этого не нужно, как мне сделать чтобы именно для этого пути у меня правило редиректа (слеша) не работало?
  • Вопрос задан
  • 112 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Это вы попытались привнести в нгинкс апачевский htaccess? Не надо так писать, разделите по-человечески на несколько локейшенов с разной обработкой.
Ответ написан
iMedved2009
@iMedved2009
Не люблю людей
location /marketplace/api/stocks{
}

location / {
  if (!-f $request_filename) { rewrite ^([^.]*[^/])$ $1/ permanent; }
  if (!-f $request_filename) { rewrite ^(.*)/index.php$ $1/ redirect; }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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