Вопрос по http-status-code-301, apache, rewrite, http-post – Apache 301 Redirect и сохранение почтовых данных
Я реализовал SEO URL с помощью перенаправлений Apache 301 наredirect.cfm» в корне сайта, который обрабатывает все создание URL-адресов и доставку контента.
Почтовые данные теряются во время перенаправления 301.
Пока не удалось найти решение, попытались исключить метод post из перезаписей - в худшем случае мы могли бы использовать URL-адреса старого типа для методов post.
Есть ли что-то, что можно сделать?
Спасибо
Используя307
должно бытьименно то, что вы хотите-
307 Temporary Redirect (since HTTP/1.1)
In this case, the request should be repeated with another URI; however, future requests
should still use the original URI.[2] In contrast to how 302 was historically implemented,
the request method is not allowed to be changed when reissuing the original request. For
instance, a POST request should be repeated using another POST request
Redirect Trailing Slashes If Not A Folder
, Кроме того, этот ответ особенно полезен для людей, разрабатывающихAPI.
dmmd
поскольку клиент выполнит запрос GET по URL-адресу, указанному в 301. Период.
Единственный вариант - преобразовать параметры POST в параметры GET и добавить их в конец URL-адреса, который выПереадресация на. Это невозможно сделать при перезаписи файла .htaccess.
Один из вариантов - перехватить POST-запросы на URL-адрес, который будет перенаправлен, и передать его на страницу для обработки перенаправления. Вы'Мне нужно сделать транспонирование параметров в коде, а затем выдать заголовок redirect с добавленным параметром new url.
Обновление. Как указано в комментариях к этому ответу, если вы перенаправляете на другой URL-адрес с указанием параметров POST и этот URL-адрес также доступен без параметров (или параметры являются переменными), необходимо указать ссылку на канонический URL-адрес страницы ,
Скажем, перенаправления формы POST перенесены на следующий ресурс GET:
http://www.example.com/finalpage.php?form_data_1=123&form_data_2=666
Вы добавили бы эту ссылку в раздел заголовка страницы:
<link rel="canonical" href="http://www.example.com/finalpage.php">
Это гарантирует, что вся ценность SEO будет данаhttp://www.example.com/finalpage.php и избежать возможных проблем с дублированным контентом.
путь. Это проблема производительности (особенно для мобильных устройств, но в целом), так как она удваивает количество запросов на вашу страницу.
Подумайте об использовании инструмента перезаписи URL, как у TuckeyURLrewriteFilter
или апач.mod_rewrite
Все, что Рэй сказал, - правда, это всего лишь дополнительный комментарий к вашему общему подходу.