Apache 301 redirecciona y preserva los datos de la publicación

Implementé las URL de SEO utilizando los redireccionamientos de Apache 301 a un ‘redirect.cfm’ en la raíz del sitio web que maneja la generación de URL y la entrega de contenido.

Los datos de la publicación se pierden durante una redirección 301.

Al no poder encontrar una solución hasta ahora, hemos intentado excluir el método de publicación de las reescrituras; en el peor de los casos, podríamos usar las URL de tipo anterior para los métodos de publicación.

¿Hay algo que se pueda hacer?

Gracias

    Los datos POST se descartan al redirigir a medida que un cliente realiza una solicitud GET a la URL especificada por el período 301..

    La única opción es convertir los parámetros POST en parámetros GET y vincularlos al final de la URL a la que está redireccionando. Esto no se puede hacer en una reescritura de archivo .htaccess.

    Una opción es capturar las solicitudes POST a la url que se redirigirá y pasarla a una página para manejar la redirección. Tendría que hacer la transposición de los parámetros en el código y luego emitir el encabezado de redirección con el parámetro adjunta nueva URL de esa manera.

    Actualización: Como se señala en los comentarios a esta respuesta, si redirige a otra URL especificando los parámetros POST y también se accede a esa URL sin parámetros (o los parámetros son variables), debe especificar un enlace a la URL canónica de la página .

    Digamos que los redireccionamientos de la forma POST se trasladaron al siguiente recurso GET:

    http://www.example.com/finalpage.php?form_data_1=123&form_data_2=666 

    Debería agregar este registro de enlace a la sección principal de la página:

       

    Esto aseguraría que todo el valor de SEO se le daría a http://www.example.com/finalpage.php y evitaría posibles problemas con el contenido duplicado.

    Usar un 307 debería ser exactamente lo que quieres

     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 

    – Wikipedia

    El uso de redireccionamientos 301 para la reescritura general de URL no es el camino a seguir. Este es un problema de rendimiento (especialmente para dispositivos móviles, pero también en general), ya que duplica la cantidad de solicitudes para su página.

    Piensa en utilizar una herramienta de reescritura de URL como URLrewriteFilter de Tuckey o mod_rewrite apache.

    Lo que Ray dijo es cierto, esto es solo un comentario adicional sobre su enfoque general.