Я новичок в NGINX и ужасно с регулярными выражениями. Это то, что мне нужно:
правила перезаписи, что:
Правило перезаписи NGINX с исключениями
Я сделал много прибегая к помощи и, похоже, не может найти то, что мне нужно. Даже статья поддержки, в которой рассказывается больше о nginx, используется regex. Это было мое лучшее предположение:
location/{
rewrite ^(?!(/images/))(.*)$ profile.html?id=$2 break;
return 403;
}
Я положил это в свой файл nginx.conf. Это сработало. Он переписал бы любой запрос, такой как mysite.com/SOMETHING
, до mysite.com/profile.html?id=SOMETHING
, однако он также переписал бы mysite.com/
на номер mysite.com/profile.html?id=
. Кажется, что работа/images/exclusion работала (по мере того, как мои изображения загружались должным образом), однако даже переход в mysite.com/index.html
будет переписан на mysite.com/profile.html?=id=index.html
.
Любая помощь была бы принята с благодарностью.
Я недостаточно знаком с NGINX, чтобы дать вам правильный ответ, но похоже, что вы можете использовать ['try_files'] (http://wiki.nginx.org/HttpCoreModule#try_files), чтобы вы только переписывайте URL-адреса, которые фактически не существуют в качестве файла. Например, 'index.html' существует как файл, поэтому URL-адрес не следует переписывать. Я бы сказал, что это может даже покрыть ваш случай 'images', так как если существует _directory_, он не должен переписываться. –