Hola,
Arrastraba una configuración antigua en la que no tenía código de idioma en Español. Tras la última actualización o por alguna razón que ahora no identifico, talvez cambios en Osmap, me cargaba la versión en catalán cuando debía cargar la versión en español. Es decir, la versión en español nunca la cargaba. Antes funcionaba así:
midominio.es -> cargaba español
midominio.es/ca -> cargaba català
midominio.es/fr -> cargaba francés
Lo que me sucedia ahora es lo siguiente:
midominio.es -> cargaba català !!! (Error)
midominio.es/ca -> cargaba català
Tras activar el código de idioma español y cambiar la configuración, ahora el dominio nunca se carga sin código de idioma y funciona bien:
midominio.es ahora va a midominio.es/es -> carga español correctamente
Problema: Cómo puedo redirigir todas las urls indexadas sin código de idioma a las mismas urls con codigo de idioma /es/ ¿Puede hacerse en el .httacces? Si trato de hacer redireciones 301 me da errores y si no las redirijo y dejo todos los idiomas activos carga de nuevo la versión en catalán.
Como solución temporal he dejado solamente activo el idioma español pero me gustaría solucionarlo para poder reactivar todos los idiomas.
Aprovecho también para preguntar si podría quitar el sufijo ".html" que arrastro desde Joomla 1.5, sin perder la indexación.
Espero haberme explicado
Saludos y gracias
URL del sitio: Contenido solo visible a usuarios registrados
Hola Alceste.
Osmap es un componte para Sitemap, no creo que tenga nada ver con el tema de multiidioma.
Cómo puedo redirigir todas las urls indexadas sin código de idioma a las mismas urls con codigo de idioma /es
podrías utilizas el siguiente código en el archivo htaccess:
RewriteEngine on RewriteCond %{HTTP:Accept-Language} (es) [NC] RewriteRule .* cortinaestor.es [L]
Para el idioma catalán :
RewriteEngine on RewriteCond %{HTTP:Accept-Language} (ca) [NC] RewriteRule .* cortinaestor.es [L]
Un saludo
Gracias por la respuesta pero no estoy seguro de si lo expliqué bien, disculpa. Solamente necesito que redirija las urls sin código de idioma a la misma url pero con el código de idoma /es/. Es decir:
midominio.es/(sin codigo de idoma) restodeurl redirigirlo a midominio.es/es/restodeurl
¿Esto se lograría con el código que propones? Entiendo que no redirigiría todo al idioma español sino solamente las urls que no tuvieran ningún código de idioma. ¿Es correcto?
Contenido solo visible a usuarios registrados
Lo digo porque el resto de idiomas me funcionan bien cuando activo el filtro de idiomas. Ahora lo tengo desactivado mientras resolvemos esto. El problema lo tengo solo cuando añade el código /es/ a la url, ya que las url en español están indexadas sin ningún código de idioma.
Saludos y gracias!
Hola
Esto que comentas es una configuración de Joomla, para el idioma por defecto que no se complete el código al final.
Desde Extensiones > Plugins, busca el plugin : Language Filter
Luego en la configuración busca:
Remove URL Language Code, tendría que estar en Si
Saludos.
Hola John,
No deseo desactivar los códigos de idioma. Lo que quiero hacer es que las páginas que se indexaron sin código de idioma, tipo "midominio.es (sin ningún código de idioma)" se redirijan a la misma url pero con el código de idioma español. Es decir: de midominio.es (sin ningún código de idioma) a midominio.es/es/...
Quisiera saber si el código enviado por Pepe me serviría para esto sin tener que redireccionarlas una a una con redireccionamientos 301. Y que sólo afecte a las url sin código de idioma, no a las que tienen codigo de idioma /ca/ ni /fr/
Todas las páginas que arrastro de años atrás sin código de idioma corresponden al idioma español. Los otros idiomas está ya indexados con el código de idioma.
Para entenderlo mejor, ver inicio del post.
Mil gracias!
Hola Alceste.
Si, en principio ese código lo que realiza es redirigir todos el .es a .es/es/....
Un saludo
Hola Pepe,
Solo una pregunta más para asegurarme. Entiendo que redirige solo los que no tienen código de idioma. Pero no redirigirá las url que tengan un código de idioma distinto de /es/ a código /es/.
O sea:
Redirige de "midominio.es/resto-de-url" a "midominio.es/es/resto-de-url"
No redirige de:
"midominio.es/ca/resto-de-url" a "midominio.es/es/resto-de-url"
"midominio.es/fr/resto-de-url" a "midominio.es/es/resto-de-url"
¿es así verdad?
Saludos
Hola Alceste.
Si, ese código solo es para el idioma es, si quieres para los demás idiomas hay que añadirlos, por ejemplo como el que te pase para el catalán.
Lo que hay algo que no me cuadra, si tienes configurado el multiidioma con su selector, tiene que cargar bien con /es
Comprobaste los menús si están para todos los Idiomas ? tienes que tener un menú para cada idioma y el ITEM de inicio por defecto para todos los idiomas tiene que ser el español.
Un saludo
Hola,
Sí, ahora lo volveré a poner en los valores correctos. Quité los otros idiomas porqué me redirigía todas las urls indexadas sin código de idioma a código de idioma /ca/. Ahora voy a poner tu código y luego te informo del resultado.
Saludos
Hola,
Si pongo este código en .httaccess me da un error 404. Es posible que se deba a que en el archivo ya hay otras condiciones y tal vez entren en contradicción.
Te copio aquí el archivo .httacces completo para ver dónde tendría que añadir el código o si hay que modificar más cosas del archivo:
Contenido solo visible a usuarios registrados
Hola Alceste.
Añádelo al principio del archivo en la linea 1.
Si ves que te sigue dando el error lo dejas como comentado y lo revisamos.
#RewriteEngine on #RewriteCond %{HTTP:Accept-Language} (es) [NC] #RewriteRule .* cortinaestor.es [L]
Revisa una Cosa, por que hay algo que no me cuadra.
.- Accede a Extensiones -> Gestor de Idiomas.
.- Revisa que el idioma por defecto sea el español:
Un saludo
Hola Pepe,
Justamente llevo un buen rato peleándome con eso. El idioma predeterminado es el Español. Sin embargo, carga la web en /ca/. (He despublicado el idioma de contenido /ca/ para evitar problemas, por lo que ahora no podrás comprobarlo, pero es así)
En cuanto al código, por ahora lo he testado y sigue dando error. Lo he dejado en la línea 1 como comentario.
Saludos y gracias
Hola Alceste.
Pero por lo que veo el error lo tienes en el Idioma francés, no en el español
¿ El idioma francés lo tienes creado y tienes el Menú para el idioma creado también ? ¿ Tienes activado el idioma Francés ?
Me huelo que no tienes bien configurados los idiomas.
Revisa esto y comprueba si tienes bien configurados los diferentes idiomas:
_> https://docs.joomla.org/J3.x:Setup_a_Multilingual_Site/es
Un saludo
Hola,
Creo que me estaba volviendo loco y es un problema de caché. Mirando en otro ordenador, carga como principal el idioma español. O sea que seguramente es esto. Si quieres , puedes comprobarlo a ver si a ti te funciona.
De todoos modos dejo estos comentarios por si acaso:
No entiendo esto que comentabas antes salvo que haya habido cambios en Joomla 3. Antes el menu principal que no correspondía a ningun idioma tenia que ir asignado al idioma "Todos". Y luego el menú principal de cada idioma y su item de inicio iba asignado a su idioma. En cambio, por lo que comentas parece que sugieres que todos los items de menú en todos los idiomas debería asignarlos al idioma español. No entiendo.
Comprobaste los menús si están para todos los Idiomas ? tienes que tener un menú para cada idioma y el ITEM de inicio por defecto para todos los idiomas tiene que ser el español.
Esta web la creamos con Joomla 1.5 y sé que tuvimos problemas con el multi-idioma, especialmente con los modulos de menú. No sé si tendrá algo que ver con lo que ocurre ahora, pero no puedo hacer que los módulos de menú no estén asignados a ninguna posición y si los publico la web se ve mal. Por eso los arrastro de hace tiempo despublicados.
En el resto de webs multi-idioma los tengo publicados pero no están asignados a ninguna posición.
Pregunta para probar si eso tiene que ver: ¿Cómo puedo dejar la posición en blanco en los módulos de menú del pack Epimeteo?
Saludos
Hola Alceste,
Aunque pueda ser continuación de la consulta de "idiomas" que estamos tratando en este hilo, para la consulta:
Pregunta para probar si eso tiene que ver: ¿Cómo puedo dejar la posición en blanco en los módulos de menú del pack Epimeteo?
Agradecemos que abras un hilo nuevo para no mezclar temas.
Realiza las consultas de forma individual y no anides diferentes consultas bajo un mismo hilo, acabamos confundiendo a otros usuarios que buscan soluciones ya aportadas, dificultamos las respuestas, ya que siempre se quedarán parte de las consultas sin responder mientras el hilo avanza, al mezclar muchos temas en un solo hilo en muy difícil hacer un seguimiento de la consulta inicial y esto acaba llevando al hilo a un estancamiento.
Gracias por tu colaboración.