Comercios Valencia: noticias sobre comercios y empresas valencianas - www.comerciosvalencia.com

martes, 15 de mayo de 2018

Redirigir páginas de idiomas en Prestashop con .htaccess


Un post recuperado de KnowHow


Para redirigir una URL de Prestashop de un idioma a otro podemos lograrlo de forma muy sencilla y rápida con el archivo .htaccess, el archivo de configuración del servidor Apache

Aunque hay formas más complicadas y completas de hacerlo, el código que os muestro funcionará correctamente; menos es más... Para ello, accedemos a nuestro hosting, bien vía FTP con algún programa cliente como Filezilla, o por la gestión de archivos de nuestro hosting y añadimos la siguiente línea de código:
#Redirigimos la página del idioma inglés (/en) de nuestra tienda online a la página española (/es)
Redirect 301 /en http://www.midominio.com/es
Si queremos hacerlo con más idiomas que tengamos instalados en nuestra tienda online con PrestaShop, añadiremos una línea de código similar por página de idioma:
Redirect 301 /en http://www.midominio.com/es
Redirect 301 /fr http://www.midominio.com/es
OJO! Recordemos siempres hacer una copia del archivo .htacces original. 
La página que queremos redirigir no debe escribirse con la dirección completa, es decir http://www.midominio.com/en se escribiría solo /en. A la dirección que queremos redirigirla si que tiene que escribirse con la URI completa: http://www.midominio.com/es

Y con eso, ya lo tenemos. Dejo un ejemplo de archivo .htaccess de PrestaShop con la redirección 301 del idioma inglés y francés a la página en castellano:
EJEMPLO REDIRECCIÓN IDIOMAS EN PRESTASHOP CON HTACCESS
# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# http://www.prestashop.com - http://www.prestashop.com/forums
# GBP REDIRIJO IDIOMAS A LA VERSIÓN ESPAÑOLA
Redirect 301 /en http://www.midominio.com/es
Redirect 301 /fr http://www.midominio.com/es



SetEnv HTTP_MOD_REWRITE On

RewriteEngine on

#Domain: midominio.com
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api$ api/ [L]
RewriteRule ^api/(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]
# Images
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]
RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]
RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]
# AlphaImageLoader for IE and fancybox
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]
# Dispatcher
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]

AddType application/vnd.ms-fontobject .eot
AddType font/ttf .ttf
AddType font/otf .otf
AddType application/x-font-woff .woff


Header add Access-Control-Allow-Origin "*"

#If rewrite mod isn't enabled
ErrorDocument 404 /index.php?controller=404
# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
AddHandler x-mapp-php5.5  .php

Noticias + populares