Apache fuerza una barra al final a 301

Oct 02 2019

Usamos Apache (en Runcloud) detrás de Cloudflare para redirigir enlaces. Se hace con .htaccess, lo más simple posible.

Redirect 301 /advertiser/google https://google.com

Por alguna razón, Apache fuerza una barra al final de cada redireccionamiento, y algunas URL, es decir, aquellas que no deben contener una barra al final, no funcionarán.

¿Cómo configuro Apache para redirigir exactamente a la URL en .htaccess?

Respuestas

2 HBruijn Oct 02 2019 at 19:56

Tenga en cuenta: un redireccionamiento HTTP 301 es "Moved Permanently" y, como tal, será almacenado en caché por ambos navegadores web, CDN y servidores proxy y después de haber cambiado o eliminado la Redirectdirectiva, aún puede observar los efectos de la configuración anterior. Es posible que deba probar desde una nueva ventana del navegador anónimo y / o borrar sus cachés después de cada cambio.

Segundo: con la Redirectinformación de cualquier ruta más allá del patrón en la ruta de la URL que está redirigiendo, se agregará a la URL de destino.

En otras palabras: con una configuración, Apache debería redirigir Redirect 301 /advertiser/google https://google.comuna solicitud con una ruta más larga http://example.com/advertiser/google/morea https://google.com/more.

Cuando una solicitud de http://example.com/advertiser/googlese redirige a https://google.com/(con la barra diagonal agregada), la razón más probable es que algo en su configuración primero agrega esa barra diagonal y convierte la solicitud antes de que se aplique la redirección.

Puede omitir los efectos de almacenamiento en caché tanto de Cloud Flare CDN como de su propio navegador web y probar su configuración realizando solicitudes directamente a su servidor web con un cliente de línea de comandos como, por ejemplo:

 curl -v -H "Host: example.com" http://<real-IP-address-of-your-webserver>/advertiser/google

y comparar eso con

  curl -v http://example.com/advertiser/google