redirectmatch redireccionamiento redireccion apache mod-rewrite http-headers

apache - redireccionamiento - ¿Puedes escribir una redirección 301 a un punto de anclaje?



redireccionamiento web (2)

Aunque parece correcto, tengo la extraña sensación de que esto no funcionará.

El navegador necesita saber sobre el #anchor. El servidor y mod_rewrite pueden ignorarlo.

Si no funciona, creo que podrías hacer algo como ...

RewriteRule ^myOldPage.html$ /index.php?info=true [R]

y luego en la salida php una pieza de javascript para hacer el salto de anclaje.

¿Es esto válido y correcto?

RewriteRule ^myOldPage.html$ /index.php#info [R]

Estoy especialmente interesado en la parte #info .


Sí. Esa es una redirección 301 válida (el estándar HTTP permite que se proporcione un URI válido como redirección).

Ahora la advertencia: no todos los motores de búsqueda pueden adorar la redirección. Google hace un trabajo fantástico al manejar las etiquetas de anclaje (incluso tienen una patente al respecto ), mientras que otras las ignoran por completo. Siempre que eso no sea un problema, la redirección es técnicamente válida.

Actualización: si tienes problemas con mod_rewrite, prueba con el indicador NE (sin escape) para evitar que el símbolo # se codifique:

RewriteRule ^myOldPage.html$ /index.php#info [R,NE]