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.

Cómo solucionar el problema de demasiadas redirecciones – htaccess

Recientemente hice un pequeño cambio en la ruta de mi dominio API, no quiero actualizar mi aplicación y quiero resolver el problema de URL usando un archivo .htaccess.

Mi dominio API actual es: https://api.example.com

Necesito redirigir a https://api.example.com/en/

Tengo API para:

-Inglés – https://api.example.com/en

-Árabe – https://api.example.com/ar

Pero mi API actual en inglés es solo https://api.example.com, y necesito agregar /en/ a ella.

Si ya es /ar/, no hay necesidad de hacer nada.

Quiero redirigir a https://api.example.com/en/ si el dominio de acceso es solo https://api.example.com.

Porque antes serví la versión en inglés de mi API directamente desde el dominio, pero ahora lo he separado a en – para inglés y ar para árabe.

Mi código:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^api.example.com [NC]
RewriteRule ^(.*)$ https://api.example.com/en/$1 [R=301,L]

Error:

ERR<em>TOO</em>MANY_REDIRECTS

En la barra de direcciones puedo ver

http://api.example.com/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/

¿Cómo puedo resolver este problema?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para resolver el problema de demasiadas redirecciones y redirigir adecuadamente al API en inglés en `https://api.example.com/en/`, se puede modificar el código .htaccess de la siguiente manera:

    RewriteEngine on
    RewriteCond %{REQUEST_URI} !^/en [NC]
    RewriteRule ^(.*)$ https://api.example.com/en/$1 [R=301,L,QSA]
    

    Aquí, RewriteCond verifica si la solicitud URI no comienza con /en/, porque solo queremos redirigir solicitudes que no tienen /en/ en la URL. Si la condición es verdadera, RewriteRule redirige la solicitud a `https://api.example.com/en/` mientras conserva la cadena de consulta original (QSA).

    Esto debería redirigir adecuadamente las solicitudes al API en inglés y evitar el problema de demasiadas redirecciones.

Comments are closed.