Как переписать URL при сохранении данных POST? - PullRequest
0 голосов
/ 10 июля 2019

Я использую Apache и его настройки прокси для обслуживания веб-страницы по HTTPS (более подробно здесь: click ).

В предыдущем вопросе я боролся с почему данные POST исчезали между моим браузером и моим сервером.Теперь я знаю, что это было вызвано использованием Apache RewriteRule.Поэтому я попытался обойти это с прокси, но это привело к тому, что веб-страница отправляла все остальные запросы в основном домене, а не во вспомогательном домене, в котором он находится.Например: моя главная веб-страница на myUrl.com/sprinklers.Это идет через прокси, который идет к localhost:8091.Основная страница HTML загружается, но ALL другие звонки, которые она делает, она делает на myUrl.com/any/path/it/needs, тогда как она должна быть на myUrl.com/sprinklers/any/path/it/needs.

К сожалению, я застрял в середине:

  • Использование RewriteRule означает, что все работает, но я теряю данные POST, которые мне нужны.
  • Использование прокси означает, что данные POST работают, но также и я получаютонна 404, потому что веб-страница теперь каким-то образом ожидает, что что-то находится в корне домена, а не в поддомене, в котором он находится.

Конечный слеш должен быть там, так как без него,то же самое происходит, когда я использую прокси, я получаю тонну 404 за все фрагменты веб-страницы.

Я пытался использовать ProxyHTMLURLMap во всех формах и формах (все они найдены в сети), но ни один не помог.

TL; DR:

Мне нужно разрешить двусторонний трафик между myUrl.com/sprinklers/.* и localhost:port/.*, сохраняя при этом данные POST.Как мне это сделать?

1 Ответ

0 голосов
/ 10 июля 2019

Как всегда, спросите, и вы сами найдете ответ ...

Оказалось намного проще, чем я себе представлял.Простое указание RewriteRule на использование HTTP-кода 307 сделало свое дело.По-видимому, это то же самое, что и другие коды перенаправления, но 307 также сохраняет данные POST.

Для тех, кому интересно, как это сделать в Apache:

RewriteRule ^/sprinklers$ /sprinklers/ [R=307]

Вот и все, исправлено.

...