Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

426
Visualizações
Cómo capturar y registrar cualquier redireccionamiento 301 (.htaccess) que ocurra usando PHP

Tengo un montón de redireccionamientos 301 configurados en mi archivo .htaccess. Lo que me gustaría hacer es realizar un seguimiento de cuántas veces se usa una redirección, para poder administrarlos mejor.

¿Hay alguna manera de capturar y registrar coincidencias de redireccionamientos 301 que ocurren con PHP?

En otras palabras, si la redirección es:

 RewriteRule ^about/bozo$ /about [R=301,L]

¿Hay alguna manera de capturar el "acerca de/bozo" cada vez que sucede usando PHP? (aunque los redireccionamientos son manejados por llamadas htaccess, y no por redireccionamientos de encabezado PHP)

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

No puede registrar una redirección 3xx que se activa anteriormente en la solicitud de Apache (por ejemplo, en .htaccess ) usando PHP. La redirección es completamente invisible para PHP.

No puede usar el Referer HTTP para determinar si se produjo una redirección ya que el navegador conserva el Referer de la solicitud inicial (si corresponde).

Las solicitudes que activan una redirección 3xx deben registrarse en el registro de acceso del servidor.

La única forma en que puede hacer esto con PHP es si marca la URL redirigida de alguna manera (quizás con una cadena de consulta) y verifica esto en su script PHP. Por ejemplo:

 RewriteRule ^about/bozo$ /about?redirected=true [R=301,L]

... pero eso tal vez no sea deseable.

over 4 years ago · Santiago Trujillo Relatório

0

La respuesta de MrWhite es correcta: no puede ver esos redireccionamientos en PHP. Sin embargo, no necesita usar PHP para obtener las estadísticas que desea.

Si desea estadísticas sobre la frecuencia con la que ocurren esos redireccionamientos, puede obtenerlas del archivo access_log de su servidor web. Cada redirección 301 debe agregar una entrada en el archivo de registro, independientemente de si la redirección fue activada por .htaccess o PHP. Tal entrada de registro debería verse así:

 127.0.0.1 - - [01/Jan/2000:11:55:36 -0700] "GET /about/bozo HTTP/1.1" 301 456

Puede utilizar las herramientas de línea de comandos para contar los redireccionamientos:

 grep '" 301 ' /var/log/apache2/access_log | wc -l

o

 grep 'GET /about/bozo ' /var/log/apache2/access_log | wc -l

Donde grep filtra el archivo de registro y wc -l cuenta las líneas.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda