Re: GET-параметры как статическая страница
Fedor Dikarev
fe на hamilton.rinet.ru
Вт Янв 8 16:45:22 UTC 2019
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