08.01.2019 3:23, valet пишет: > Здравствуйте. > > Вопрос такой: на сервере лежат статические html-файлы с именами типа > index.html?id=1 index.html?id=2 и т.д. - то есть это их имена именно в таком > виде. > Как заставить nginx отдавать собственно именно эти файлы? > > стандартный кусок конфига > location / { > root /data/www/site.ru/; > index index.html; > } > на запросы типа http://site.ru/index.html?id=1 отдает просто > http://site.ru/index.html, то есть параметры отбрасываются. > > Я так подозреваю нужен какой-то правиьлный rewite, но гугление пока не > помогает, знаний тоже не хватает, помогите разобраться.
можно попробовать try_files, например так: > location /args_test/ { try_files $uri$is_args$args =404; } или так: > location /args_test/ { try_files $uri$is_args$args $uri; } И тогда: > root@hamilton:/st/hosting/hamilton/htdocs/args_test # ls > index.html index.html?id=1 > root@hamilton:/st/hosting/hamilton/htdocs/args_test # cat * > none > one > curl 'http://hamilton.rinet.ru/args_test/index.html?id=1' > one возможно это решит конкретно эту задачу. Но надо помнить, что добавление любого другого параметра в запрос все сломает, и если их будет несколько, то важен будет и порядок в котором они передаются в запросе. Если надо будет и такие случаи разобрать, то уже надо будет правильный map строить от аргументов map-ить в имя файла на диске. > > С уважением, Леонид. > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,282565,282565#msg-282565 > > _______________________________________________ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru