Я даже не знаю, как сформулировать название этого вопроса, но, надеюсь, следующее описание объяснит мою проблему.
У меня есть веб-приложение, состоящее из одной пустой страницы поиска с полем поиска. Поиск фактически выполняется клиентским браузером, а результаты загружаются через ajax. Другими словами, сервер ничего не делает, кроме как обслуживает пустую страницу поиска по адресу http://server/index.html
.
После выполнения запроса я использую history.pushState()
, чтобы изменить URI в адресной строке браузера на что-то более разумное, например http://server/index.html?q=searchterm&page=1&size=10
. Разбивка на страницы выполняется ссылками prev
и next
, которые также вызываются через ajax вместе с соответственно увеличенными или уменьшенными значениями page
и size
. Все хорошо.
Но я хочу, чтобы мое приложение было хорошим веб-гражданином и могло создавать закладки. Другими словами, если кто-то вводит http://server/index.html?q=searchterm&page=1&size=10
прямо в адресную строку браузера, я хочу правильно загрузить результаты. За исключением того, что если я отправлю этот URI на сервер, подача будет хрипеть, если я не реализую некоторую обработку на стороне сервера. И это то, чего я не хочу делать, поскольку это полностью изменит сложность моего приложения. Если только я не могу сделать это с помощью обычного ванильного nginx
(моего веб-сервера). Другими словами, я не хочу реализовывать какие-либо сценарии на стороне сервера, кроме того, что можно сделать с самим веб-сервером, например SSI.
Итак, как мне решить эту проблему?