Apache: ¿es posible reescribir URL basadas en fragmentos (hashtag)?

Apache: ¿es posible reescribir URL basadas en fragmentos (hashtag)?

Usando Apache/2.4.54 (Win64)

Me solicitaron reescribir del dominio antiguo al nuevo como este

  • Dehttps://oldtest.mydomain.com/company/customerpage/#/customer/<getThisNumber>/something
  • Ahttps://newtest.mydomain.com/company/something/customer/<getThisNumber>

Podría haber estado bien, usar expresiones regulares para tomar el número y pasarlo al nuevo y luego simplemente redirigir usando [L,R=301].

Pero el árbitro.esta publicación en StackOverFlow

Sé que el hashtag es un identificador de fragmento y que las cadenas después del hashtag no son algo que puedas procesar con mod_rewrite, pero esperaba que apareciera el hashtag. Así que probé reglas que coincidieran como estas.

Entonces lo que he probado es (fragmento)

<LocationMatch "^\/company\/customerPage\/">
    LogLevel alert rewrite:trace3
    RewriteCond %{QUERY_STRING} ([0-9]*)\/something$
    RewriteRule ^(.*)$ "https://newtest.mydomain.com/company/something/customer/$1" [L,R=301]

Esto no funciona, la pregunta es si tengo un problema menor en mi código o también soy consciente de que podría haber un riesgo de que esto no sea factible... pero espero que no.

Respuesta1

https://www.w3.org/Addressing/URL/4_URI_Recommentations.html

El carácter hash ( #,, #ASCII 23 hexadecimal) se reserva como delimitador para separar el URI de un objeto de un identificador de fragmento.

Implícito allí eso significa que

  • El #hashtag NO forma parte del URI.

  • Y solo se envía el URI al servidor web.
    El identificador de hash y fragmento NO se envía al servidor web en la solicitud.

Simplemente no hay nada en el servidor que Apache y/o mod_rewrite puedan procesar.


Necesitaría resolver eso con algo que se ejecute en el lado del cliente; como javascript por ejemplo, que se ejecuta en la ventana del navegador.

información relacionada