Как задать исключения в регулярном выражении rewrite nginx?

Все .js файлы перенаправляются на php скрипт для обработки и последующего вывода отформатированного .js файла. Задача заключалась в том чтобы все пути .js оставались прежними. Код который приведен ниже работает с ошибками.
set $domain $host;
	rewrite "^/gzip/(.*)$" /gzip.php?file=http://$domain/$1 last;
	location ~* \.js$ {
		rewrite_log on;
		rewrite "^/(.*)$" /gzip/$1 last;
	}

location .js вызывает циклическую переадресацию после того как перенаправляет на директиву /gzip/, т.е в логах редиректов пишет:
/gzip/file.js
/gzip/gzip/file.js
/gzip/gzip/gzip/file.js и т.д.

Возможно ли добавить исключения /gizp/ и файла gzip.php в виде регулярного выражения для этого редиректа rewrite "^/(.*)$" /gzip/$1 last; ? Или location .js?
  • Вопрос задан
  • 1263 просмотра
Пригласить эксперта
Ответы на вопрос 1
tonymadbrain
@tonymadbrain
doam.ru
Какая-то сложная схема у вас, а почему просто вот так не сделать?:
location ~* \.js$ {
    rewrite_log on;
    rewrite "^/gzip/(.*)$" /gzip.php?file=http://$domain/$1 last;
  }

ну и для /gzip такой же location.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы