Redirigir páginas de idiomas en Prestashop con .htaccess

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

Redirigir http a https con .htaccess

Redirigir http a https con .htaccess
Valencia, 17/04/2019
Si quieres redirigir tu web del protocolo http al protocolo seguro https, puedes hacerlo modificando el archivo de configuración del servidor Apache, el .htaccess. recuerda siempre hacer una copia de seguridad primero. Puedes ver más información al respecto en este enlace de imaginanet.com.
Este es el código:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://TUDOMINIO.COM/$1 [R=301,L]
Nota importante
Si tu gestor de contenidos o CMS es WordPress, no cambies http por https en tu Escritorio o Dashboard (Ajustes -Generales). En vez de eso, instala un plugin tipo Really Simple SSL. Lo encontrarás en el repositorio de WordPress, es decir, desde tu Escritorio de WordPress ->Plugins ->Añadir nuevo.

“Clips para salvar el mundo”, una campaña de educación mediambiental de la Comunitat Valenciana

Valencia, 17/04/2019
La Consellería de Agricultura, Medio Ambiente, Cambio Climático y Desarrollo Rural ha puesto en marcha la campaña “Clips per a salvar el món‘. Se trata de un conjunto inicial de cuatro audiovisuales cortos de sensibilización y comunicación ambiental sobre el cambio climático, cuyos personajes se basan en la campaña del Consejo Escolar de la Comunitat Valenciana; “Viñetas para salvar el mundo” y que serán distribuidos a los centros educativos de la Comunitat Valenciana.
"Clips para salvar el mundo", una campaña de educación mediambiental de la Comunitat Valenciana

Los personajes del cómic, que han sido creados por el propio alumnado, cobran vida audiovisual a través de varias historias en las que se cuestionan aspectos de la vida cotidiana que inciden en el cambio climático. + info en Noticias Comunitat Valenciana.

Ver vídeo


Esta canción la quiero tocar: The Snow It Melts The Soonest

Dejo la letra original de la canción tradicional The Snow It Melts The Soonest, creo que inglesa )o escocesa, no sé).

Lyrics collected by Thomas Doubleday in 1821 from a street singer in Newcastle, England

The Snow It Melts The Soonest
O, the snow it melts the soonest when the winds begin to sing;And the corn it ripens fastest when the frosts are setting in;And when a woman tells me that my face she’ll soon forget,Before we part, I wad a crown, she’s fain to follow’t yet.

The snow it melts the soonest when the wind begins to sing;And the swallow skims without a thought as long as it is spring;But when spring goes, and winter blows, my lass, an ye’ll be fain,For all your pride, to follow me, were’t cross the stormy main.

O, the snow it melts the soonest when the wind begins to sing;The bee that flew when summer shined, in winter cannot sting;-I’ve seen a woman’s anger melt between the night and morn,And it’s surely not a harder thing to tame a woman’s scorn.

O, never say me farewell here -no farewell I’ll receive,For you shall set me to the stile, and kiss and take your leave;But I’ll stay here till the woodcock comes, and the martlet takes his wing,Since the snow aye melts the soonest, lass, when the wind begins to sing.

Lyrics collected by Thomas Doubleday in 1821 from a street singer in Newcastle, England

La versión que me gusta es esta:

Redirigir páginas de Error 404 en PrestaShop a la Home

Artículo del blog de Hector Nevado (www.hnevado.es/blog) para redirigir las páginas de Error 404 en PrestaShop a la página de inicio o Home. Funciona perfectamente. Mil gracias desde aquí!

https://www.hnevado.es/blog/redireccionar-errores-404-a-la-home-en-prestashop/ 

<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA 
* @copyright 2007-2015 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/


class PageNotFoundControllerCore extends FrontController
{
public $php_self = 'pagenotfound';
public $page_name = 'pagenotfound';
public $ssl = true;

/**
* Assign template vars related to page content
* @see FrontController::initContent()
*/
public function initContent()
/** AÑADO TEMA REDIRECCION ERRORES
*/
{
Tools::redirect();
header('HTTP/1.1 404 Not Found');
header('Status: 404 Not Found');

if (preg_match('/.(gif|jpe?g|png|ico)$/i', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH))) {
$this->context->cookie->disallowWriting();
if (!isset($_SERVER['REDIRECT_URL'])) {
$_SERVER['REDIRECT_URL'] = '';
if (preg_match('@^'.__PS_BASE_URI__.'([0-9]+)-([_a-zA-Z0-9-]+)(/[_a-zA-Z0-9-]+)?.jpg$@', $_SERVER['REQUEST_URI'], $matches)) {
$_SERVER['REDIRECT_URL'] = __PS_BASE_URI__.'p/'.Image::getImgFolderStatic($matches[0]).'/'.$matches[0].'-'.$matches[1].'.jpg';
}

}
if (preg_match('#/p[0-9/]*/([0-9]+)-([_a-zA-Z]*).(png|jpe?g|gif)$#', $_SERVER['REDIRECT_URL'], $matches)) {
// Backward compatibility since we suffixed the template image with _default
if (Tools::strtolower(substr($matches[2], -8)) != '_default') {
header('Location: '.$this->context->link->getImageLink('', $matches[1], $matches[2]), true, 302);
exit;
} else {
$image_type = ImageType::getByNameNType($matches[2], 'products');
if ($image_type && count($image_type)) {
$root = _PS_PROD_IMG_DIR_;
$folder = Image::getImgFolderStatic($matches[1]);
$file = $matches[1];
$ext = '.'.$matches[3];

if (file_exists($root.$folder.$file.$ext)) {
if (ImageManager::resize($root.$folder.$file.$ext, $root.$folder.$file.'-'.$matches[2].$ext, (int)$image_type['width'], (int)$image_type['height'])) {
header('HTTP/1.1 200 Found');
header('Status: 200 Found');
header('Content-Type: image/jpg');
readfile($root.$folder.$file.'-'.$matches[2].$ext);
exit;
}
}
}
}
} elseif (preg_match('#/c/([0-9]+)-([_a-zA-Z]*).(png|jpe?g|gif)$#', $_SERVER['REDIRECT_URL'], $matches)) {
$image_type = ImageType::getByNameNType($matches[2], 'categories');
if ($image_type && count($image_type)) {
$root = _PS_CAT_IMG_DIR_;
$file = $matches[1];
$ext = '.'.$matches[3];

if (file_exists($root.$file.$ext)) {
if (ImageManager::resize($root.$file.$ext, $root.$file.'-'.$matches[2].$ext, (int)$image_type['width'],
(int)$image_type['height'])) {
header('HTTP/1.1 200 Found');
header('Status: 200 Found');
header('Content-Type: image/jpg');
readfile($root.$file.'-'.$matches[2].$ext);
exit;
}
}
}
}

header('Content-Type: image/gif');
readfile(_PS_IMG_DIR_.'404.gif');
exit;
} elseif (in_array(Tools::strtolower(substr($_SERVER['REQUEST_URI'], -3)), array('.js', 'css'))) {
$this->context->cookie->disallowWriting();
exit;
}

parent::initContent();

$this->setTemplate(_PS_THEME_DIR_.'404.tpl');

}

protected function canonicalRedirection($canonical_url = '')
{
// 404 - no need to redirect to the canonical url
}

protected function sslRedirection()
{
// 404 - no need to redirect
}
}

Lanzada nueva versión de ReactOS, el sistema operativo libre compatible con Windows

Lanzada nueva versión de ReactOS, el sistema operativo libre compatible con Windows


Post recuperado de KnowHow…

El equipo de ReactOS ha lanzado hoy una nueva versión de su sistema operativo gratuito y de código abierto que es compatible con las aplicaciones y controladores diseñados para Windows. Yo nunca lo he probado, pero ya me he descargado la versión Live para probarlo desde un USB. 

ReactOS 0.4.11 ya está disponible para su descarga y llega cuatro meses después de la versión 0.4.10 para traer muchas más novedades, y mejor soporte para tus aplicaciones de Windows favoritas. Respecto a eso, este lanzamiento añade mejor soporte para aplicaciones .NET 2.0 y agrega soporte para Blender 2.57b, Quicktime Player 7.7.9, Evernote 5.8.3, Bumptop y muchas otras aplicaciones“, según puedes leer en el artículo de Linuxadictos.

Peppermint OS de 32 bits no me permite arrancar el cliente de ownCloud

Peppermint OS de 32 bits no me permite arrancar el cliente de ownCloud
Post recuperado de KnowHow…

Valencia, 05/03/2019, G.B.
A pesar de haber podido instalar el cliente de ownCloud en un a distro Peppermint OS de 32 bits, no he podido arrancarlo porque no es compatible. Creo que es por la arquitectura de 32 bits, parece ser que han retirado su soporte. Al menos he podido instalarlo en Peppermint OS sin ningún problema desde la terminal tecleando: 

sudo apt-get install owncloud-client
Con Ubuntu 18.04 de 64 bits me ha dado un error de bloqueo, pero seguiré intentándolo; cierto es que tengo un problema importante de falta de espacio en la partición en la que está instalada esta distro…

Eso sí, siempre puedo acceder vía interfaz web. Veremos si pruebo con un Peppermint OS de 64 bits y si no tengo problemas de bloqueo y/o acceso con el cliente de ownCloud en Linux (en principio, creo que no los habrá). Reportaré. Hasta pronto!

Me compro un ebook CyberBook E-Touch (de segunda mano)

Post recuperado de KnowHow…

Valencia, 02/03/2019, G.B.
Desde que mi viejo Amazon Kindle sucumbió, he dejado de leer libros electrónicos o e-readers. Por una parte, ha sido provechoso, ya que he vuelto a la lectura ‘en papel‘ y creo que lo he aprovechado (y seguiré haciendolo). No obstante, reconozco que un libro electrónico es un ‘cacharrito’ bastante interesante y cómodo. 

Así, hace unos días me he comprado un ebook modelo CiberBook E-Touch de segunda mano (a un precio de unos 25€). Aunque he visto por ahí que nuevo hoy en día puede costar solo un poco más, no me arrepiento de la compra.

Es un modelo bastante curioso, ya que es táctil, tiene teclado, joystick y permite la reproducción de audio y de cómics, y puede leer bastantes formatos. Tiene una capacidad interna de 4 Gigas y admite tarjeta miccroSD (yo le he puesto una de 8 Gigas por unos 7€).

El único problema que me he encontrado (además de adaptarme a su uso tras varios años del Amazon  Kindle) es el intento de actualización que he hecho: se me quedó ‘congelado’, sin poder arrancar. Hice un reset (botón ubicado en la parte trasera del ebook) y volvió a la normalidad, tras cancelar la actualización.
Aunque en mi opinión no tiene la misma resolución que un Kindle, creo que no ha sido una mala compra. Ahora multiplicaré mis opciones de lectura…
Os dejo algunos enlaces acerca de este modelo:

Easy Player CyberBook E-Touch
Best Buy Easy Player CyberBook E-Touch
BestBuy Cyberbook E-Touch 6″ Pantalla táctil 4GB Negro (Amazon)

Manual del CyberBook E-Touch

Editores de vídeo para Linux: Openshot

Hecho a mano con y ¡100% GRATIS y de código abierto! Gratis y de código abierto para siempre (GPL version 3.0)

Editores de vídeo para Linux: Openshot

Post recuperado de KnowHow…

Valencia, 23/02/2019

Estoy probando editores de vídeo para Linux, en concreto Openshot, un editor libre de vídeo, de código abierto (licencia GPL) y multiplataforma (para Mac, Linux y Windows). Lo he descargado en 2 distros distintas: Ubuntu y Peppermint OS.

Con Ubuntu lo he descargado como una AppImage (no sabía lo que era hasta hoy) y con Peppermint directamente instalándolo desde la terminal o línea de comandos: sudo apt-get install openshot.

OpenShot Video Editor is an award-winning, open-source video editor, available on Linux, Mac, and Windows. OpenShot can create stunning videos, films, and animations with an easy-to-use interface and rich set of features.

He hecho una pequeña prueba de creación de un vídeo con fotos y su exportación y ha sido bastante sencillo. Aunque sé que Openshot (según he leído) tiene muchas posibilidades como editor de vídeos, solo con la conversión de fotos a vídeo, añadiendo alguna que otra transición y efecto, me ha convencido. Voy a indagar un poco más sobre este editor de vídeos gratuito y de código libre.

Hasta pronto!

Enlaces recomendados:
Manual del usuario de Openshot
Descargar AppImage (64 bits)

Cambio de PTV Telecom a MasMovil con modem-router ZTE F680

Cambio de PTV Telecom a MasMovil con modem-router ZTE F680
Post recuperado de KnowHow…

Valencia, 13/02/2019, G.B.

Acabo de cambiar mi ISP (Proveedor de Servicios de Internet) de PTV Telecom a MasMóvil. He contratado una oferta de Internet de fibra óptica (ya está obsoleto o se sobrentiende decir que es de banda ancha) y teléfono fijo. He conseguido quitar el servicio de televisión de mi ‘pack’. 
La instalación ha ido bastante bien. el único inconveniente ha sido a la hora de acceder al modem-router: las claves que me daba el técnico (y que a él le funcionaban en su portátil de pruebas) no eran válidas para mi modem-router modelo ZTE F680 (con antenas internas). Las claves de acceso que me daba (y que, repito, a él le funcionaban en su portátil) eran las siguientes:

USUARIO: admin
CONTRASEÑA: admin
Eso no me parece nada serio… Tras indagar un poco, y gracias a un foro de la veterana web Banda Ancha, he apodido saber que el usuario y contraseña son 1234! (tampoco es serio!). En fin… Ya he cambiado el acceso a mi modem-router, aunque he visto cosas que no me han gustado demasiado en cuanto a seguridad, tengo que verlo con más calma.
Ahora toca investigar un poco para cambiar de forma eficaz las DNS. Lo que me ha ‘mosqueado’ un poquito es este mensaje del foro, aunque la fecha es de 2017: https://bandaancha.eu/foros/aviso-fibra-masmovil-router-zte-f680-1725220 Mañana comprobaré…