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?
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:
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.