es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Ejecuta la segunda condición y regla de reescritura luego de que se haya ejecutado la primera regla.

Mi archivo .htaccess es:

eliminar “www”

RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^ https://example.com%{REQUEST_URI} [R=301,L]

agregar una barra diagonal al final

RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(.*(?:^|/)[^/.]+)$ $1/ [R=301,L]

se necesitan otras reglas

RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^old-link/$ https://example.com/new-link/ [R=301,L]

Con esto, mi objetivo es hacer que http://www.example.com/something-after redirija a https://example.com/something-after y luego agregar “/” al final: https://example.com/something-after/

Sin embargo, he probado esto en un verificador en línea y dice que “Las pruebas se detienen, usar un host diferente provocará una redirección” en la primera regla y por esta razón, la segunda regla nunca se cumple.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en .htaccess y mod-rewrite, sugiero que el problema podría deberse al hecho de que la primera regla redirige de http://www.example.com a example.com, lo que podría estar causando el problema con la segunda regla.

    Para resolver esto, puede intentar modificar la primera regla para redirigir a https://example.com/ en lugar de https://example.com% {REQUEST_URI}, así:

    `
    RewriteCond% {HTTP_HOST} ^ www.example.com $
    RewriteRule ^ (. *) $ Https://example.com/$1 [R = 301, L]

    Esto debería redirigir todas las solicitudes de http://www.example.com a https://example.com/, incluida la solicitud URI. Luego, la segunda regla debería funcionar como se esperaba para agregar una barra diagonal al final de la URL.

    `
    RewriteCond% {HTTP_HOST} ^ (www \.)? Example.com $
    RewriteRule ^ (. * (?: ^ | /) [^ / \.]+) $ $ 1 / [R = 301, L]

    Finalmente, puede agregar cualquier otra regla que necesite después de estas dos reglas.

    `
    RewriteCond% {HTTP_HOST} ^ (www \.)? Example.com $
    RewriteRule ^ old-link / $ https://example.com/new-link/ [R = 301, L]

    Asegúrese de probar las reglas a fondo antes de implementarlas en su sitio web en vivo.

Comments are closed.