Request-URI Слишком большой

Получил эту ошибку в большом $_GET запросе размером ~ 9 000 символов (они делятся на ~ 10 переменных).

 Request-URI Too Large The requested URL's length exceeds the capacity limit for this server. 

Какое обходное решение для этой проблемы?

Нет обходного пути, если вы хотите передать всю эту информацию с помощью GET без изменения конфигурации сервера.

Другие решения:

  • Используйте POST с формой (или скрытой формой и добавьте событие onclick по вашей ссылке, которые ее отправляют)
  • Используйте сеанс. Когда сервер создает ссылку, сохраните ее в $ _SESSION с уникальным идентификатором (или RID, он может быть md5 полного URI) и передать его через GET.
  • Использовать базу данных или хранилище файлов (с той же процедурой сеанса)

Это сработало для меня (ему нужна поддержка formData):

 <script> //Load form var formData = new FormData(); formData.append("param_name1", "param_content1"); formData.append("param_name2", "param_content2"); formData.append("param_nameN", "param_contentN"); //Send form via AJAX var xhr = new XMLHttpRequest(); xhr.open("POST", YOUR_URL); xhr.send(formData); </script> 

Ну, URI фактически имеет ограничение персонажа в зависимости от нескольких вещей. Вы можете проверить это на

Одним из способов является использование POST вместо GET, если вы тоже разрабатываете сервер.