Jump to content

Recommended Posts

Buenos días

 

Estoy configurando mi nueva tienda en un prestashop 1.5.3.1 y como me ha ocurrido en otras ocasiones, me gustaría configurar los servidores de media porque según tengo entendido mejoran el rendimiento de la tienda.

 

He buscado documentación sobre el tema pero no me queda claro. Os dejo lo que he podido leer por los foros y mis preguntas al respecto:

  1. Algunos dicen que hay crear 3 subdominios y otros 4. Entiendo que deben ser 3 puesto que solo tenemos 3 servidores de media. ¿Verdad?.
  2. Algunos comentan que cada subdominio creado debe ser redirigido al dominio, otros dicen que estos deben redirigirse a las carpetas cssy js de prestashop
  3. ¿Para que funcionen los servidores media hay que habilitar los CCC como tengo en la imagen adjunta o hay que realizar algo más?

Me gustaría que alguien que los haya configurado correctamente y los utilice me diga qué debo hacer o si alguien tiene documentación oficial sobre el tema me la haga llegar.

 

Un saludo.

post-327007-0-84342300-1359013556_thumb.png

Share this post


Link to post
Share on other sites

Los había leido pero no me queda nada claro, creo que lo mejor, si no hay un tutorial oficial que indique detalladanente los pasos a seguir, como comprobar si tu plantilla es compatible, si copiar ficheros en los subdominios, si modificar o no el header.tpl, etc es no hacer nada.

  • Like 1

Share this post


Link to post
Share on other sites

Los había leido pero no me queda nada claro, creo que lo mejor, si no hay un tutorial oficial que indique detalladanente los pasos a seguir, como comprobar si tu plantilla es compatible, si copiar ficheros en los subdominios, si modificar o no el header.tpl, etc es no hacer nada.

 

Ese es el problema, la documentación oficial brilla por su ausencia en temas como éste.

 

En el hilo que te ha puesto Nadie se enlazan otros dos hilos donde hablamos de los media servers y los conceptos, antes de montar nada hay que entender qué es y para qué se va a usar esa nueva función.

 

Lee los hilos que te he puesto y si tienes alguna duda concreta aquí estamos para ayudarte.

 

Un saludo.

Edited by oka (see edit history)

Share this post


Link to post
Share on other sites

¿Qué es un Media Server?

 

Es una técnica que se usa para acelerar la descarga, y el procesamiento por parte del navegador del cliente, de una página web como Prestashop.

 

Los media servers además de servir el contenido estático en paralelo sirven este contenido sin añadirle cookies, por lo que ganamos aún más en la descarga ya que para descargarse una foto,JS,CSS no hace falta bajarse ninguna cookie, lo que se llama dominio cookieless

 

¿Cómo funciona, es decir por qué el navegador descarga la página más rápido?

 

Los navegadores, Firefox, Chrome,Opera,Internet Explorer... son capaces de descargar simultaneamente 8 archivos al mismo tiempo desde 8 servidores diferentes, nunca el mismo.

 

Cuando el Navegador hace una petición a un Prestashop, el servidor le devuelve al navegador una lista de archivos a descargar.

 

Este concepto es muy sencillo:

 

Navegador cliente pide a tu tienda el index, prestashop le devuelve a tu navegador una lista de archivos que se tiene que descargar para que tú veas la "tienda online".

 

Bien esa lista de archivos a descargar son ni más ni menos que los JS,CSS,IMG más datos variables que se extraen de la base de datos y que no vienen al caso.

 

Esta lista de archivos van "en fila india" para tu navegador, hasta que no se descarga el primer archivo no empieza con el segundo.

 

Con lo que para ver la primera foto de tu index el navegador no la puede descargar y por supuesto mostrar hasta que no se haya descargado, por ejemplo, el javascript que va antes.

 

Entonces si activamos los Media Servers conseguimos que cuando tu navegador pide el index a prestashop, éste le devuelve una lista de archivos a descargar, pero de diferentes servidores.

 

 

Lista archivos a descargar Prestashop Sin media servers:

 

http://www.mitienda.com/img/favicon.ico
http://www.mitienda.com/themes/prestashop/cache/89298329_all.css
http://www.mitienda.com/themes/prestashop/cache/928372983.js
.
.
.

 

Lista archivos a descargar Prestashop Con media servers:

 

http://estatico1.mitienda.com/img/favicon.ico
http://estatico2.mitienda.com/themes/prestashop/cache/89298329_all.css
http://estatico3.mitienda.com/themes/prestashop/cache/928372983.js
.
.
.

 

Como vemos en la segunda lista de archivos, cuando prestashop usa los media servers, las urls de la lista de archivos que se tiene que descargar tu navegador para ver la "página web" ya no provienen del dominio principal www.mitienda.com entonces el navegador es capaz de descargarse esos archivos en paralelo y no en "fila india" como antes.

 

¿Qué hace falta para montar los media servers?

 

Necesitas crear 3 subdominios en tu hosting con lo que en total tendrás 4 subdominios:

 

www ----> www.mitienda.com

estatico1 ----> estatico1.mitienda.com

estatico2 ----> estatico2.mitienda.com

estatico3 ----> estatico3.mitienda.com

 

Crear los nombres DNS para esos nuevos dominios.

 

¿Tengo que copiar ficheros de un sitio a otro?

 

No, no hay que copiar nada de nada, lo único que hay que hacer es crear ENLACES SIMBOLICOS desde tu carpeta principal a las carpetas virtuales estatico1 estatico2 estatico3.

 

Si tenemos prestashop instalado en la carpeta "www" haremos desde consola :

 

ln -s www estatico1
ln -s www estatico2
ln -s www estatico3

 

Y apuntaremos los dominios virtuales (virtual host de apache) a esas carpetas.

 

¿tengo que redireccionar algo con el mod_rewrite y el .htaccess de prestashop?

 

No, no hay que redireccionar nada, lo que hemos hecho es crear "3 tiendas nuevas que son una copia exacta de la tienda principal"

 

Ok ya tenemos toda la infraestructura montada, Apache tiene 3 dominios más y los DNS resuelven esos dominios nuevos,

 

¿Cómo configuro Prestashop para usar los Media Servers?

 

En la pestaña rendimiento del BO meteremos esos 3 dominios nuevos que hemos creado en Apache.

 

estatico1.mitienda.com
estatico2.mitienda.com
estatico3.mitienda.com

 

Salvamos, cogemos el navegador y hacemos una petición a http://www.mitienda.com y miramos el código fuente para comprobar que las imágenes/JS/CSS se sirven desde los dominios nuevos.

 

En este punto prestashop sólo te estará generando las imágenes de los productos desde una de los subdominios que hemos creado, con ésto ya ganamos en rapidez, pero queremos aún más, queremos que todo el contenido estático se genere desde los subdominios y para eso hay que tocar el código del header.tpl del tema que se esté usando.

 

Editamos archivo Header.tpl:

 

Buscar esto: <link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
Sustituir por: <link href="{Tools::getCurrentUrlProtocolPrefix()}estatic2.mitienda.com{$css_uri}" rel="stylesheet" type="text/css" media="{$media}"

Buscar esto: <script type="text/javascript" src="{$js_uri}"></script>
Sustituir por: <script type="text/javascript" src="{Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)}{$js_uri}"></script>

 

Con esta modificación ya generaremos los JS/CSS desde los subdominios.

 

Pero aún hay más, cualquier módulo que injecte JS/CSS o imágenes hay que modificarlo también para que haga uso de los media servers, hay que ir a cada módulo y reprogramar la línea donde injecte los JS/CSS/IMG con un:

 

{Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)}

 

¿Pero tengo que reprogramarlos todos a la vez?

 

No, no hace falta, según vayas reprogramando los módulos más rápida te irá la tienda sin perder accesibilidad a la misma.

 

Ok mi tienda ya sirve los JS/IMG/CSS desde los subdominios, ¡pero aún mando cookies con las fotos/CSS/JS!

 

Editamos el fichero classes/Cookie.php

 

Buscamos esta línea:

 

$this->_domain = $this->getDomain();

 

La cambiamos por:

 

 $this->_domain = 'www.mitienda.com';

 

Y con esto prestashop sólo generará cookies para las urls dinámicas que se generan desde el dominio principal.

 

Problemas a tener en cuenta:

 

Al crear los enlaces simbólicos y crear los 3 subdominios estamos creando una copia exacta de la página www.mitienda.com, cuando google llegue y comienze a indexarte tus 3 "nuevas tiendas" te penalizará por ser contenido duplicado.

 

¿Cómo soluciono el contenido duplicado con los media servers?

 

A Apache le vamos a decir que desde lo subdominios estaticos sólo se va a servir archivos IMG/CSS/JS y no vamos permitir que se ejecuten los scripts php

 

<FilesMatch "\.tpl$">
order deny,allow
deny from all
</FilesMatch>

<Files ~ "^.*\.php">
Order allow,deny
Deny from all
</Files>

<Files ~ "^.*\.html">
Order allow,deny
Deny from all
</Files>

 

 

Uso un certificado SSL y ahora me da errores.

 

Si usas SSL para proteger la tienda y dispones de una sola IP pública debes de comprar un certificado wildcard para el dominio *.mitienda.com

 

Además debes de configurar Apache para usar VirtualDocumentRoot para capturar el nombre del subdominio que envía el cliente, por ejemplo estatico3.mitienda.com a la carpeta estatico3.

 

Necesitamos cargar el módulo de apache vhost_alias para usar esta característica :

 

a2enmod vhost_alias 

 

Editamos el archivo default-ssl de Apache:

 

Buscamos: DocumentRoot /var/www/www
sustituir por: VirtualDocumentRoot /var/www/%1/

 

Reiniciamos Apache y listo.

 

 

Un saludo.

Edited by oka (see edit history)
  • Like 13

Share this post


Link to post
Share on other sites

  • 2 weeks later...
  • 1 month later...

Bueno, lo primero, muchísimas gracias por tu aporte Oka.

 

Estoy preparando los pasos para probar los servidores de media, pero veo que para tener duplicado el contenido de todo el directorio raíz (para mí sería lo más sencillo) en otros 3 subdirectorios es lento e incluso me puede suponer un coste adicional en el hosting por el espacio consumido y el número de archivos.

 

Para soluccionarlo, me he puesto a releer para ver si podía determinar las carpetas que tendrían que ir a cada uno de los subdirectorios duplicadas para que no se haga eterna la subida y bajada de archivos en el FTP y no cuatriplique el espacio consumido en el servidor, pero la verdad, no me ha quedado muy claro.

 

En un principio he hecho una primera criba, en la que creo que no he cribado mucho, que incluiría las siguientes carpetas para tener en los subdominidos de los servidores de media duplicadas: classes, controllers, css, img, js, theme (sólo la del activo) y tools.

 

No se si me he pasado y con los de css, img, js y theme activo serían suficientes o habría que incluir también los que ponía arriba de classes, controllers y tools

 

No se si esto sería correcto del todo, pero igual alguien más tiene la duda.

 

También entiendo que se puede seleccionar el tipo de contenido que servirá cada servidor media, según leo el código que has puesto antes:

 

Buscar esto: <link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
Sustituir por: <link href="{Tools::getCurrentUrlProtocolPrefix()}estatic2.mitienda.com{$css_uri}" rel="stylesheet" type="text/css" media="{$media}"

 

aquí le estás indicando que el servidor "static2.mitienda.com sea de donde extraiga el css, con lo que entiendo que con duplicar el contenido de las carpetas css y el theme activo sería suficiente, no?

 

gracias de antemano.

 

:D

Share this post


Link to post
Share on other sites

Ains, y otra cosilla que se me había pasado y creo que sería interesante concretar (sobre todo para mí, que igual no lo tengo tan claro como creo), cuando te refieres a la modificación del archivo header.tpl, supongo que lo haces al archivo que se encuentra en la carpeta del theme activo, no?

Share this post


Link to post
Share on other sites

Hola

 

Lo ideal es trabajar con enlaces simbólicos a la carpeta de la tienda.

 

Para hacer enlaces simbólicos desde un compartido sin acceso por consola puedes usar un script en php con la función symlink http://php.net/manual/es/function.symlink.php (siempre que en el compartido te dejen acceso al sistema de ficheros).

 

Si no puedes hacer enlaces simbólicos te toca copiar y mantener sincronizadas las diferentes carpetas con la principal.

 

El contenido que se sirve desde los media servers es siempre contenido estático (lo digo por tu pregunta de copiar scripts php, controllers y demás) así que lo único que deberías copiar son:

  • JS
  • CSS
  • IMG

La modificación de los TPL en efecto son los del theme que estés usando.

 

Un saludo

Share this post


Link to post
Share on other sites

  • 3 weeks later...

¿Qué es un Media Server?

 

Es una técnica que se usa para acelerar la descarga, y el procesamiento por parte del navegador del cliente, de una página web como Prestashop.

 

Los media servers además de servir el contenido estático en paralelo sirven este contenido sin añadirle cookies, por lo que ganamos aún más en la descarga ya que para descargarse una foto,JS,CSS no hace falta bajarse ninguna cookie, lo que se llama dominio cookieless

 

¿Cómo funciona, es decir por qué el navegador descarga la página más rápido?

 

Los navegadores, Firefox, Chrome,Opera,Internet Explorer... son capaces de descargar simultaneamente 8 archivos al mismo tiempo desde 8 servidores diferentes, nunca el mismo.

 

Cuando el Navegador hace una petición a un Prestashop, el servidor le devuelve al navegador una lista de archivos a descargar.

 

Este concepto es muy sencillo:

 

Navegador cliente pide a tu tienda el index, prestashop le devuelve a tu navegador una lista de archivos que se tiene que descargar para que tú veas la "tienda online".

 

Bien esa lista de archivos a descargar son ni más ni menos que los JS,CSS,IMG más datos variables que se extraen de la base de datos y que no vienen al caso.

 

Esta lista de archivos van "en fila india" para tu navegador, hasta que no se descarga el primer archivo no empieza con el segundo.

 

Con lo que para ver la primera foto de tu index el navegador no la puede descargar y por supuesto mostrar hasta que no se haya descargado, por ejemplo, el javascript que va antes.

 

Entonces si activamos los Media Servers conseguimos que cuando tu navegador pide el index a prestashop, éste le devuelve una lista de archivos a descargar, pero de diferentes servidores.

 

 

Lista archivos a descargar Prestashop Sin media servers:

 

http://www.mitienda.com/img/favicon.ico
http://www.mitienda.com/themes/prestashop/cache/89298329_all.css
http://www.mitienda.com/themes/prestashop/cache/928372983.js
.
.
.

 

Lista archivos a descargar Prestashop Con media servers:

 

http://estatico1.mitienda.com/img/favicon.ico
http://estatico2.mitienda.com/themes/prestashop/cache/89298329_all.css
http://estatico3.mitienda.com/themes/prestashop/cache/928372983.js
.
.
.

 

Como vemos en la segunda lista de archivos, cuando prestashop usa los media servers, las urls de la lista de archivos que se tiene que descargar tu navegador para ver la "página web" ya no provienen del dominio principal www.mitienda.com entonces el navegador es capaz de descargarse esos archivos en paralelo y no en "fila india" como antes.

 

¿Qué hace falta para montar los media servers?

 

Necesitas crear 3 subdominios en tu hosting con lo que en total tendrás 4 subdominios:

 

www ----> www.mitienda.com

estatico1 ----> estatico1.mitienda.com

estatico2 ----> estatico2.mitienda.com

estatico3 ----> estatico3.mitienda.com

 

Crear los nombres DNS para esos nuevos dominios.

 

¿Tengo que copiar ficheros de un sitio a otro?

 

No, no hay que copiar nada de nada, lo único que hay que hacer es crear ENLACES SIMBOLICOS desde tu carpeta principal a las carpetas virtuales estatico1 estatico2 estatico3.

 

Si tenemos prestashop instalado en la carpeta "www" haremos desde consola :

 

ln -s www estatico1
ln -s www estatico2
ln -s www estatico3

 

Y apuntaremos los dominios virtuales (virtual host de apache) a esas carpetas.

 

¿tengo que redireccionar algo con el mod_rewrite y el .htaccess de prestashop?

 

No, no hay que redireccionar nada, lo que hemos hecho es crear "3 tiendas nuevas que son una copia exacta de la tienda principal"

 

Ok ya tenemos toda la infraestructura montada, Apache tiene 3 dominios más y los DNS resuelven esos dominios nuevos,

 

¿Cómo configuro Prestashop para usar los Media Servers?

 

En la pestaña rendimiento del BO meteremos esos 3 dominios nuevos que hemos creado en Apache.

 

estatico1.mitienda.com
estatico2.mitienda.com
estatico3.mitienda.com

 

Salvamos, cogemos el navegador y hacemos una petición a http://www.mitienda.com y miramos el código fuente para comprobar que las imágenes/JS/CSS se sirven desde los dominios nuevos.

 

En este punto prestashop sólo te estará generando las imágenes de los productos desde una de los subdominios que hemos creado, con ésto ya ganamos en rapidez, pero queremos aún más, queremos que todo el contenido estático se genere desde los subdominios y para eso hay que tocar el código del header.tpl del tema que se esté usando.

 

Editamos archivo Header.tpl:

 

Buscar esto: <link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
Sustituir por: <link href="{Tools::getCurrentUrlProtocolPrefix()}estatic2.mitienda.com{$css_uri}" rel="stylesheet" type="text/css" media="{$media}"

Buscar esto: <script type="text/javascript" src="{$js_uri}"></script>
Sustituir por: <script type="text/javascript" src="{Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)}{$js_uri}"></script>

 

Con esta modificación ya generaremos los JS/CSS desde los subdominios.

 

Pero aún hay más, cualquier módulo que injecte JS/CSS o imágenes hay que modificarlo también para que haga uso de los media servers, hay que ir a cada módulo y reprogramar la línea donde injecte los JS/CSS/IMG con un:

 

{Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)}

 

¿Pero tengo que reprogramarlos todos a la vez?

 

No, no hace falta, según vayas reprogramando los módulos más rápida te irá la tienda sin perder accesibilidad a la misma.

 

Ok mi tienda ya sirve los JS/IMG/CSS desde los subdominios, ¡pero aún mando cookies con las fotos/CSS/JS!

 

Editamos el fichero classes/Cookie.php

 

Buscamos esta línea:

 

$this->_domain = $this->getDomain();

 

La cambiamos por:

 

 $this->_domain = 'www.mitienda.com';

 

Y con esto prestashop sólo generará cookies para las urls dinámicas que se generan desde el dominio principal.

 

Problemas a tener en cuenta:

 

Al crear los enlaces simbólicos y crear los 3 subdominios estamos creando una copia exacta de la página www.mitienda.com, cuando google llegue y comienze a indexarte tus 3 "nuevas tiendas" te penalizará por ser contenido duplicado.

 

¿Cómo soluciono el contenido duplicado con los media servers?

 

A Apache le vamos a decir que desde lo subdominios estaticos sólo se va a servir archivos IMG/CSS/JS y no vamos permitir que se ejecuten los scripts php

 

<FilesMatch "\.tpl$">
order deny,allow
deny from all
</FilesMatch>

<Files ~ "^.*\.php">
Order allow,deny
Deny from all
</Files>

<Files ~ "^.*\.html">
Order allow,deny
Deny from all
</Files>

 

 

Uso un certificado SSL y ahora me da errores.

 

Si usas SSL para proteger la tienda y dispones de una sola IP pública debes de comprar un certificado wildcard para el dominio *.mitienda.com

 

Además debes de configurar Apache para usar VirtualDocumentRoot para capturar el nombre del subdominio que envía el cliente, por ejemplo estatico3.mitienda.com a la carpeta estatico3.

 

Necesitamos cargar el módulo de apache vhost_alias para usar esta característica :

 

a2enmod vhost_alias 

 

Editamos el archivo default-ssl de Apache:

 

Buscamos: DocumentRoot /var/www/www
sustituir por: VirtualDocumentRoot /var/www/%1/

 

Reiniciamos Apache y listo.

 

 

Un saludo.

 

 

Fantastico aporte. ¿Se conseguiría el mismo rendimiento poniendo las imagenes en otro dominio de otro host que poniendolas en el subdominio del host de la web principal?

¿Si se tiene ssl con IP fija pero no es wildcard funcionaría esta técnica solo para las imagenes?

 

saludos

Share this post


Link to post
Share on other sites

Fantastico aporte. ¿Se conseguiría el mismo rendimiento poniendo las imagenes en otro dominio de otro host que poniendolas en el subdominio del host de la web principal?

¿Si se tiene ssl con IP fija pero no es wildcard funcionaría esta técnica solo para las imagenes?

 

saludos

 

A la pregunta 1º, conseguirías mejor rendimiento, tanto en velocidad de proceso como en velocidad en descarga, de hecho la idea es tener las imágenes y JS en otro(s) servidores (ésa es la filosofía de un CDN que es lo que realmente estamos montando).

 

A la segunda pregunta, si usas SSL tienes que poner un wildcard.

 

Consejo, si vas a comprar un wildcard y tu intención es usarlo en varias Ip's públicas asegúrate de que el emisor del certificado te permita usarlo en más de una ip pública. (los wildcard baratos normalmente sólo permiten su uso en una IP).

 

Un saludo.

  • Like 1

Share this post


Link to post
Share on other sites

Hola oka

Me imagino que la razón por la que es necesario usar Wildcard es porque es el único ssl que soporta subdominios, pero si el objetivo es que las imagenes estén en SSL y se ponen en un otro dominio principal ¿Sería posible subirlas a otros host CON SSL básico y así ahorrar los costes de un Wildcard ?

Tenia entendido que parar usar un SSL no se pueden usar en Ip publica, al menos en mi host me requerieron IP privada

 

un saludo

Share this post


Link to post
Share on other sites

  • 2 weeks later...

Podeis poner una relacion de modulos que hay que retocar y que hay que buscar y despues cambiar.

podria los modulos convivir con ambas funciones, lo digo si es asi para una futura actualizacion podria venir ya puesto.

Share this post


Link to post
Share on other sites

Una pregunta, no entiendo exactamente cuando se dice de limitar a los subdominios para que solo sirva los IMG, JS y CSS, esas lineas de codigo:

 

<FilesMatch "\.tpl$">
order deny,allow
deny from all
</FilesMatch>

<Files ~ "^.*\.php">
Order allow,deny
Deny from all
</Files>
<Files ~ "^.*\.html">
Order allow,deny
Deny from all
</Files>

 

Donde hay que ponerlas exactamente? en el htaccess principal? o donde?

Share this post


Link to post
Share on other sites

  • 3 weeks later...

Una pregunta, no entiendo exactamente cuando se dice de limitar a los subdominios para que solo sirva los IMG, JS y CSS, esas lineas de codigo:

 

<FilesMatch "\.tpl$">
order deny,allow
deny from all
</FilesMatch>

<Files ~ "^.*\.php">
Order allow,deny
Deny from all
</Files>
<Files ~ "^.*\.html">
Order allow,deny
Deny from all
</Files>

 

Donde hay que ponerlas exactamente? en el htaccess principal? o donde?

 

Me uno a la pregunta, a ver si alguien nos puede ayudar...

Share this post


Link to post
Share on other sites

Si no puedes hacer enlaces simbólicos te toca copiar y mantener sincronizadas las diferentes carpetas con la principal.

El contenido que se sirve desde los media servers es siempre contenido estático (lo digo por tu pregunta de copiar scripts php, controllers y demás) así que lo único que deberías copiar son:

  • JS
  • CSS
  • IMG

 

Si no se puede hacer enlaces simbolicos entonces creamos subdominios. Estos subdominios si apuntan a servidores externos mucho mejor. Y en estos servidores externos copiamos solo los ficheros js, css e img de nuestro prestashop.

Mi pregunta es...¿que pasa si solo copiamos los js y los css y NO las imágenes? Entiendo que si se dirige al primer servidor de media para cargar una imagen y no la encuentra pasará al siguiente y asi sucesivamente. Si no lo encuentra en ningún servidor de media entonces las cargará del dominio principal.

Lo pregunto porque el mantenimiento de las imágenes es algo complicado porque implica que cada cierto tiempo tengas que copiar las imágenes de los nuevos productos a los servidores externos. O bien, usar cloudcache, cloudfront, etc...

 

En el apartado de preferencias/rendimiento de Prestashop tenemos la opción 'CloudCache' y 'Servidores de media (utilizado únicamente cuando CCC está activado)' ¿podemos utilizar ambas? Lo pregunto porque CloudCache en sí es otro servicio de CDN.

 

cloudCache y CloudFront son de pago.

Uno gratuito podría ser CloudFlare que por supuesto no te da las prestaciones de los de pago pero podrian servir. ¿Alguien conoce un modulo de prestashop de cloudflare?

Edited by petete2008 (see edit history)

Share this post


Link to post
Share on other sites

  • 2 weeks later...

Buenos días.

 

Tengo el siguiente problema, he creado los subdominios con los enlacen simbólicos a las carpetas, los css y los js los carga bien, pero las imágenes no, las busca dentro de la url amigable del subdominio y no las encuentra, como puedo hacer para que no busque las imágenes con la url amigable o como activo las url amigables en el subdominio, ya he copiado el .htaccess al subdominio y no funciona.

 

Gracias.

Share this post


Link to post
Share on other sites

Lo pregunto porque el mantenimiento de las imágenes es algo complicado porque implica que cada cierto tiempo tengas que copiar las imágenes de los nuevos productos a los servidores externos.

 

Creas un script php que lee y copia, lo metes al Cron y a correr. Que trabaje el servidor tí ;)

 

Un ejemplo: http://www.forosdelw...27/#post3922229 y sinó directamente a http://php.net/manua...nction.copy.php donde tienen varios codigos de usuarios que hacen lo mismo. El ejemplo de forosdelweb es el mismo que el mecionado en este mensaje concreto http://www.php.net/manual/es/function.copy.php#104020. Una buena función ;)

 

 

POR CIERTO, QUE SE ME OLVIDA...

 

1000 gracias a Masetru por las indicaciones tan claras para la configuración CDN.

 

CCC me dá problemas con css, precisamente lo que más tarda... así que habrá que probar por otros medios mientras no encuentre solución. (Nadie, por si lo lees ;)... el fondo quedó ok, gracias, pero ahora es la vista producto la que se descuadra como si tuviera un display:block)

 

Saludos!

Edited by wippa (see edit history)

Share this post


Link to post
Share on other sites

Añado:

 

He conseguido arreglar el problemaco del CSS con estas instrucciones.

http://forge.prestashop.com/browse/PSCFI-2909

 

La página carga en 4 segundos la primera vez, y en 1 u 2 a partir de ahí.

 

Por fiiinnnn.

 

Nota: Para el problema del fondo (background-image) quien tenga uno, poner la imagen en la carpeta del theme, y nunca en la carpeta img principal (thx Nadie).

 

Saludos.

Share this post


Link to post
Share on other sites

  • 1 month later...

 

Editamos archivo Header.tpl:

 

Buscar esto: <link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
Sustituir por: <link href="{Tools::getCurrentUrlProtocolPrefix()}estatic2.mitienda.com{$css_uri}" rel="stylesheet" type="text/css" media="{$media}"

Buscar esto: <script type="text/javascript" src="{$js_uri}"></script>
Sustituir por: <script type="text/javascript" src="{Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)}{$js_uri}"></script>

 

Con esta modificación ya generaremos los JS/CSS desde los subdominios.

 

Pero aún hay más, cualquier módulo que injecte JS/CSS o imágenes hay que modificarlo también para que haga uso de los media servers, hay que ir a cada módulo y reprogramar la línea donde injecte los JS/CSS/IMG con un:

 

{Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)}

 

¿Pero tengo que reprogramarlos todos a la vez?

 

No, no hace falta, según vayas reprogramando los módulos más rápida te irá la tienda sin perder accesibilidad a la misma.

 

Ok mi tienda ya sirve los JS/IMG/CSS desde los subdominios, ¡pero aún mando cookies con las fotos/CSS/JS!

 

Editamos el fichero classes/Cookie.php

 

Buscamos esta línea:

 

$this->_domain = $this->getDomain();

 

La cambiamos por:

 

 $this->_domain = 'www.mitienda.com';

 

Y con esto prestashop sólo generará cookies para las urls dinámicas que se generan desde el dominio principal.

 

 

estas seguro de que hay que hacer esto? porque estoy usando la version 1.5.2 con la plantilla por defecto y veo que la mayoría de contenido estático (no todo, es verdad) me lo pilla de los cdn ...

Edited by lovendo (see edit history)

Share this post


Link to post
Share on other sites

  • 1 month later...

Hola! me he leído todos los posts que se indican por aquí sobre la configuración de los servidores de media como sugería oka y me surgen unas dudas, lo más probable es que sean algo simples.. pero no doy para más.

 

He creado los subdominios tipo static1.mitienda.es y los he dirigido a la carpeta raíz /prestashop que es donde está mi tienda principal. En este hilo se comenta de crear una copia de los archivos pero en otros se comenta que pueden dirigirse directamente a la misma carpeta raíz.

Bien, no ha funcionado. Compruebo que busca información en el servidor de media pero la web aparece desmontada, como si no leyese correctamente los css.

1. Ahora estoy probando de crear una copia de las carpetas img/js/css dentro de un directorio a la que apuntar el subdominio. Mi pregunta es, este directorio, debe de estar dentro de la capeta prestashop? tipo /prestashop/static1?

Cuando hablamos de un enlace simbólico, es dirigir el subdominio a una carpeta concreta o a algo diferente.. :unsure:

 

2. Al igual que los compañeros también desconozco donde introducir el código mencionado para que google no lea contenido duplicado

<FilesMatch "\.tpl$">

order deny,allow

deny from all

</FilesMatch>

<Files ~ "^.*\.php">

Order allow,deny

Deny from all

</Files>

 

<Files ~ "^.*\.html">

Order allow,deny

Deny from all

</Files>

 

 

Mil gracias por responder.

Share this post


Link to post
Share on other sites

estas seguro de que hay que hacer esto? porque estoy usando la version 1.5.2 con la plantilla por defecto y veo que la mayoría de contenido estático (no todo, es verdad) me lo pilla de los cdn ...

 

Hola.

 

Pues nunca he usado la 1.5 y no sabría decirte con exactitud.

 

Si usas CCC y los módulos añaden con addcss y addjs los respectivos CSS y JS (en la V1.4) no hay que modificar nada en los módulos.

 

El Frontcontroller se encargará de unirlos, cachearlos y servirlos desde un media server.

 

Hola! me he leído todos los posts que se indican por aquí sobre la configuración de los servidores de media como sugería oka y me surgen unas dudas, lo más probable es que sean algo simples.. pero no doy para más.

 

He creado los subdominios tipo static1.mitienda.es y los he dirigido a la carpeta raíz /prestashop que es donde está mi tienda principal. En este hilo se comenta de crear una copia de los archivos pero en otros se comenta que pueden dirigirse directamente a la misma carpeta raíz.

Bien, no ha funcionado. Compruebo que busca información en el servidor de media pero la web aparece desmontada, como si no leyese correctamente los css.

1. Ahora estoy probando de crear una copia de las carpetas img/js/css dentro de un directorio a la que apuntar el subdominio. Mi pregunta es, este directorio, debe de estar dentro de la capeta prestashop? tipo /prestashop/static1?

Cuando hablamos de un enlace simbólico, es dirigir el subdominio a una carpeta concreta o a algo diferente.. :unsure:

 

2. Al igual que los compañeros también desconozco donde introducir el código mencionado para que google no lea contenido duplicado

<FilesMatch"\.tpl$">

order deny,allow

deny from all

</FilesMatch>

<Files ~ "^.*\.php">

Order allow,deny

Deny from all

</Files>

 

<Files ~ "^.*\.html">

Order allow,deny

Deny from all

</Files>

 

 

Mil gracias por responder.

 

A la primera duda de si copiar o no los archivos:

 

No, no hay que copiar nada.

 

¿Por qué no tengo que copiar los archivos?

 

Porque además de desperdiciar tiempo, espacio en disco y tener que mantener sincronizados 3 directorios, basta con publicar en Apache 3 nuevos subdominios que apunten a la misma carpeta en la que está instalada prestashop.

 

Vale, ¿Pero tú has hecho enlaces simbólicos, no decías que no hay que copiar nada?

 

En el ejemplo yo he hecho 3 enlaces simbólicos (para la gente que use windows son simplemente accesos directos a la carpeta de prestashop).

 

Estos enlaces simbólicos NO tienen nada que ver con tener que copiar los archivos a las carpetas static, esto lo hago porque al usar SSL y una sola IP pública necesito que Apache "sepa traducir" las peticiones SSL a los respectivos media servers.

 

Es decir, que si no usas SSL no hay que copiar ni crear enlaces simbólicos.

 

Simplemente se crean 3 Virtual hosts nuevos en Apache que apuntan a la carpeta de prestashop.

 

Ejemplo fichero virtual hosts para dominio static.tienda.com

 

<VirtualHost *:80>
	ServerAdmin [email protected]
	ServerName static.tienda.com
	DocumentRoot /var/www/prestashop/
	<Directory />
			Options FollowSymLinks
			AllowOverride None
	</Directory>
	<Directory /var/www/prestashop>
			Options Indexes FollowSymLinks MultiViews
			AllowOverride FileInfo Indexes
			Order allow,deny
			allow from all
			<FilesMatch "\.tpl$">
			  order deny,allow
			   deny from all
			  </FilesMatch>
	</Directory>

			<Files ~ "^.*\.php">
			  Order allow,deny
			  Deny from all
			 </Files>
			<Files ~ "^.*\.html">
				Order allow,deny
				Deny from all
			</Files>
</VirtualHost>

 

Otro tema también son los DNS, antes de echar a andar los media servers hay que asegurarse que los DNS resuelven esos nuevos dominios.

 

Un saludo.

 

EDIT: los AllowOverride se pueden mejorar publicando los directorios JS/IMG/Caché para que Apache no tenga que escanear los .htaccess en cada directorio (override a none), esa configuración "casi" le vale a todo el mundo que tenga un Apache con configuración "Stock" así que podéis probar con ella y si funciona después se puede ir afinando más aún.

Edited by oka (see edit history)

Share this post


Link to post
Share on other sites

  • 2 weeks later...

Buenas tardes.

 

Muchas gracias oka por tu información, pero ando un poco perdido.

 

He creado los subdominios "media1.midominio.com", en cpanel, redireccionandolos a "/public_html/midominio.com", pero me pasa lo mismo que a Inot, me aparece desmontada.

 

Creo que estoy haciendo algo mal, o me falta algo por hacer. ¿podría ser el virtual host? ¿como se crea?

 

Saludos

Muchas gracias

Share this post


Link to post
Share on other sites

Hola

 

Si haces ping a media1.midominio.com te resuelve a la ip del servidor ?

 

Para saber qué pasa no hay nada mejor que ir a ver el error.log de Apache.

 

En su defecto con el navegador Chrome pulsas F12, se abre la consola y abajo a la derecha podrás ver las alertas que genera la tienda.

 

Un saludo. 

Share this post


Link to post
Share on other sites

Hola.

 

Es un error de configuración del servidor.

 

Es necesario ver el error.log de Apache para depurar, también sería interesante ver la configuración del virtualhost para el subdominio media1

 

Un saludo.

 

EDIT: veo que en tu caso usas Nginx, tendrías que poner si está en modo proxy inverso o es un Nginx a pelo sin Apache.

Edited by oka (see edit history)

Share this post


Link to post
Share on other sites

Hola.

 

Es un error de configuración del servidor.

 

Es necesario ver el error.log de Apache para depurar, también sería interesante ver la configuración del virtualhost para el subdominio media1

 

Un saludo.

 

EDIT: veo que en tu caso usas Nginx, tendrías que poner si está en modo proxy inverso o es un Nginx a pelo sin Apache.

El log de apache no me muestra nada, muy raro.

En cuanto al Nginx, no tengo ni idea. Es un servidor compartido.

Tendré que preguntarle al proveedor.

Les pregunto acerca del virtualhost, si me pueden hacer la redireccion?

 

Pudiera ser que el tema utilizado no sea compatible?

 

Gracias.

Share this post


Link to post
Share on other sites

Hola.

 

El tema sí es compatible, de hecho te manda el css desde un media server.

 

Lo que te falla es la configuración del servidor, estás usando Nginx y puede que detrás un apache o puede que no, éso te lo tienen que confirmar desde el hosting.

 

De todas formas el error 500 que aparece tiene y debe de estar logueado en el fichero de log correspondiente.

 

Un saludo.

Share this post


Link to post
Share on other sites

O_O lo veo algo complicado, tengo un servidor dedicado y quiero hacer la página super rápida, me dicen que carga como en 4 segundos pero quiero que cargue en unos 3 o 2 segundos y por lo visto el media server es una excelente opción, el problema que surge es meterle mano al apache y todo eso, hay alguna manera más sencilla de hacerlo??

Share this post


Link to post
Share on other sites

Hola.

 

El tema sí es compatible, de hecho te manda el css desde un media server.

 

Lo que te falla es la configuración del servidor, estás usando Nginx y puede que detrás un apache o puede que no, éso te lo tienen que confirmar desde el hosting.

 

De todas formas el error 500 que aparece tiene y debe de estar logueado en el fichero de log correspondiente.

 

Un saludo.

 

Buenas tardes Oka,

 

me puse en contacto con el hosting. Me han dixo que no pueden hacerme los enlaces simbólicos.

 

Me tocará copiar los archivos en los subdominios y tenerlos sincronizados!

 

He de mantener la estructura de carpetas?

Saben alguna forma de discriminar archivos para no tener que ir entrando en cada carpeta para buscarlos?

 

Saludos

Share this post


Link to post
Share on other sites

Buenas de nuevo.

 

Estoy viendo en cpanel que tengo la opción de redireccionar los subdominios. Los redirecciono al dominio principal y me genera un archivo .htaccess con éste código:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^media1\.elrincondelapasion\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.media1\.elrincondelapasion\.com$
RewriteRule ^/?$ "http\:\/\/www\.elrincondelapasion\.com" [R=301,L]

Oka, se te ocurre algo?

Share this post


Link to post
Share on other sites

Hola.

 

Está explicado en este mismo hilo, si redireccionas con un htaccess lo que consigues es hacer la web más lenta, es decir consigues todo lo contrario a lo que buscas.

 

Tus comunicaciones contra Apache se duplican con esas redirecciones, lo que en realidad le dices al navegador cada vez que se baja un archivo de un media server es que le vuelva a preguntar por ese archivo al dominio principal, algo como ésto:

 

1- navegador --> dame foto artículo X

2- Apache ---> esa url es erronea toma la nueva url

3- navegador ----> dame foto artículo X

4- Apache ----> toma foto artículo X

 

Lo hay que hacer es montar los subdominios y ya está, es como montar la tienda que habéis montado pero con 3 nombres diferentes y que éstos apunten a la carpeta principal de prestashop (como la tienda principal).

 

De la misma manear que habéis publicado el directorio prestashop bajo apache y con el nombre www.mitienda.com tenéis que montar un estatico[1-2].mitienda.com apuntando a la carpeta de prestashop.

 

Repito otra vez, si no se usa SSL NO, NO hay que copiar ni hacer enlaces simbólicos ni nada de nada, sólo publicar el directorio prestashop bajo 3 nombres de dominio diferentes y decirle a prestashop cuales son las URLS de los media servers.

 

Un saludo

Share this post


Link to post
Share on other sites

Buenas Oka.

 

Yo administro el dominio y hosting a través de Cpanel en un hosting compartido.

 

Según entiendo, y rectificame si no es asi, seria tan simple como crear los subdominios y decirles que a esos dominios que su ruta es la misma que el dominio principal, no?

De esta forma no habría que triplicar contenido (pasar todos los archivos a la carpeta de cada subdominio).

Tengo que probarlo todavía. Estoy haciendo un backup de toda la tienda por si acaso al hacer esto se me borrara.

 

Cuando haya probado te comentare.

 

Saludos y muchas gracias.

Share this post


Link to post
Share on other sites

Buenas Oka.

 

Yo administro el dominio y hosting a través de Cpanel en un hosting compartido.

 

Según entiendo, y rectificame si no es asi, seria tan simple como crear los subdominios y decirles que a esos dominios que su ruta es la misma que el dominio principal, no?

De esta forma no habría que triplicar contenido (pasar todos los archivos a la carpeta de cada subdominio).

Tengo que probarlo todavía. Estoy haciendo un backup de toda la tienda por si acaso al hacer esto se me borrara.

 

Cuando haya probado te comentare.

 

Saludos y muchas gracias.

 

Exacto, así es.

 

Nunca está de más hacer un backup pero borrarte los archivos no te los va a borrar.

 

Un saludo.

Share this post


Link to post
Share on other sites

Hola.

 

Está explicado en este mismo hilo, si redireccionas con un htaccess lo que consigues es hacer la web más lenta, es decir consigues todo lo contrario a lo que buscas.

 

Tus comunicaciones contra Apache se duplican con esas redirecciones, lo que en realidad le dices al navegador cada vez que se baja un archivo de un media server es que le vuelva a preguntar por ese archivo al dominio principal, algo como ésto:

 

1- navegador --> dame foto artículo X

2- Apache ---> esa url es erronea toma la nueva url

3- navegador ----> dame foto artículo X

4- Apache ----> toma foto artículo X

 

Lo hay que hacer es montar los subdominios y ya está, es como montar la tienda que habéis montado pero con 3 nombres diferentes y que éstos apunten a la carpeta principal de prestashop (como la tienda principal).

 

De la misma manear que habéis publicado el directorio prestashop bajo apache y con el nombre www.mitienda.com tenéis que montar un estatico[1-2].mitienda.com apuntando a la carpeta de prestashop.

 

Repito otra vez, si no se usa SSL NO, NO hay que copiar ni hacer enlaces simbólicos ni nada de nada, sólo publicar el directorio prestashop bajo 3 nombres de dominio diferentes y decirle a prestashop cuales son las URLS de los media servers.

 

Un saludo

 

OKa según lo que entiendo es que creo los 3 subdominios y en los 3 subdominios copio todo el contenido de mi tienda? y le pongo servidores de media a mi backoffice principal y de ahi listo?

Share this post


Link to post
Share on other sites

Buenas tardes.

 

Acabo de probar lo anteriormente dicho.

Ahora me aparece la tienda desmontada, y chrome me da los siguientes errores:

 

  1. Uncaught ReferenceError: $ is not defined [VM] (3045):1
2
  1. Uncaught ReferenceError: jQuery is not defined [VM] (3049):77
  1. Uncaught ReferenceError: $ is not defined [VM] (3051):81
  1. Uncaught ReferenceError: $ is not defined [VM] (3052):82
 

 

 

Y en Cpanel me aparece esto en el campo "redirección", se ha puesto solo:

%{ENV:REWRITEBASE}img/c/$2.jpg

 

Saludos

Edited by ujin81 (see edit history)

Share this post


Link to post
Share on other sites

OKa según lo que entiendo es que creo los 3 subdominios y en los 3 subdominios copio todo el contenido de mi tienda? y le pongo servidores de media a mi backoffice principal y de ahi listo?

 

Eso es, salvo que te puedes ahorrar el copiar nada si configuras los subdominios apuntando a la carpeta donde tienes instalado prestashop.

 

 

Buenas tardes.

 

Acabo de probar lo anteriormente dicho.

Ahora me aparece la tienda desmontada, y chrome me da los siguientes errores:

 

  1. Uncaught ReferenceError: $ is not defined [VM] (3045):1
2
  1. Uncaught ReferenceError: jQuery is not defined [VM] (3049):77
  1. Uncaught ReferenceError: $ is not defined [VM] (3051):81
  1. Uncaught ReferenceError: $ is not defined [VM] (3052):82
 

 

 

Y en Cpanel me aparece esto en el campo "redirección", se ha puesto solo:

%{ENV:REWRITEBASE}img/c/$2.jpg

 

Saludos

 

Pega aquí el archivo header.tpl del tema que estés usando.

 

Un saludo.

Share this post


Link to post
Share on other sites

Eso es, salvo que te puedes ahorrar el copiar nada si configuras los subdominios apuntando a la carpeta donde tienes instalado prestashop.

 

 

 

Pega aquí el archivo header.tpl del tema que estés usando.

 

Un saludo.

 

gracias por tu respuesta, mira lo intente pero extrañamente de hecho se puso más lento te voy a decir lo que hice

 

en el Cpanel cree 3 subdominios static1, static2, static3.sistemasyprogramas.com... estos al momento de crearlos le puse que su carperal principal sea la misma public_html del prestashop y esos subdominios los configuré en rendimiento, ahora, use gtmetrix para verificar si la velocidad habia mejorado y mas bien se puso un poco más lenta digamos que unos 3 segundos más, tambien noté que en la opción de Login de los usuarios salia todo descuadrado como si no hubiera CSS, no se si será por el certificado SSL que tengo, me puedes indicar si hay algo mal o que se puede hacer?

Share this post


Link to post
Share on other sites

gracias por tu respuesta, mira lo intente pero extrañamente de hecho se puso más lento te voy a decir lo que hice

 

en el Cpanel cree 3 subdominios static1, static2, static3.sistemasyprogramas.com... estos al momento de crearlos le puse que su carperal principal sea la misma public_html del prestashop y esos subdominios los configuré en rendimiento, ahora, use gtmetrix para verificar si la velocidad habia mejorado y mas bien se puso un poco más lenta digamos que unos 3 segundos más, tambien noté que en la opción de Login de los usuarios salia todo descuadrado como si no hubiera CSS, no se si será por el certificado SSL que tengo, me puedes indicar si hay algo mal o que se puede hacer?

 

Hola RicRey, es que si usas SSL la cosa cambia bastante y hay que tocar más a fondo la configuración de Apache.

 

Además de que tendrías que comprar un certificado SSL wildcard.

 

Vamos que es normal que cuando pinchan en login te aparezca descuadrado porque el navegador internamente se está quejando que el certificado SSL sólo protege al dominio www y no a los dominios static[1-3].

 

Un saludo. 

Share this post


Link to post
Share on other sites

Hola RicRey, es que si usas SSL la cosa cambia bastante y hay que tocar más a fondo la configuración de Apache.

 

Además de que tendrías que comprar un certificado SSL wildcard.

 

Vamos que es normal que cuando pinchan en login te aparezca descuadrado porque el navegador internamente se está quejando que el certificado SSL sólo protege al dominio www y no a los dominios static[1-3].

 

Un saludo. 

 

si elimino el SSL me mejorará el rendimiento y Google no me penalizará por los otros 3 subdominios?

Share this post


Link to post
Share on other sites

Si eliminas el SSL te será más fácil hacerlo, pero no tiene nada que ver con que google te penalice por contenido duplicado en los 3 media servers.

 

Para que no te penalice tienes que poner en la configuración de los nuevos subdominios que sólo sirva archivos JS/IMG/CSS

 

En este mismo hilo tienes una configuración de un virtual host para que google no te penalice.

 

Un saludo

Share this post


Link to post
Share on other sites

Si eliminas el SSL te será más fácil hacerlo, pero no tiene nada que ver con que google te penalice por contenido duplicado en los 3 media servers.

 

Para que no te penalice tienes que poner en la configuración de los nuevos subdominios que sólo sirva archivos JS/IMG/CSS

 

En este mismo hilo tienes una configuración de un virtual host para que google no te penalice.

 

Un saludo

 

el virtual host esta en la configuración del Apache?

Share this post


Link to post
Share on other sites

Eso es, salvo que te puedes ahorrar el copiar nada si configuras los subdominios apuntando a la carpeta donde tienes instalado prestashop.

 

 

 

Pega aquí el archivo header.tpl del tema que estés usando.

 

Un saludo.

 

Este es el contenido del header.tpl:

{*
* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 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/afl-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 [email protected] 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 <[email protected]>
*  @copyright  2007-2012 PrestaShop SA
*  @version  Release: $Revision: 6594 $
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{$lang_iso}">
	<head>
		<title>{$meta_title|escape:'htmlall':'UTF-8'}</title>
{if isset($meta_description) AND $meta_description}
		<meta name="description" content="{$meta_description|escape:html:'UTF-8'}" />
{/if}
{if isset($meta_keywords) AND $meta_keywords}
		<meta name="keywords" content="{$meta_keywords|escape:html:'UTF-8'}" />
{/if}
		<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
		<meta http-equiv="content-language" content="{$meta_language}" />
		<meta name="generator" content="PrestaShop" />
		<meta name="robots" content="{if isset($nobots)}no{/if}index,{if isset($nofollow) && $nofollow}no{/if}follow" />
		<link rel="icon" type="image/vnd.microsoft.icon" href="{$favicon_url}?{$img_update_time}" />
		<link rel="shortcut icon" type="image/x-icon" href="{$favicon_url}?{$img_update_time}" />	
		<script type="text/javascript">
			var baseDir = '{$content_dir}';
			var baseUri = '{$base_uri}';
			var static_token = '{$static_token}';
			var token = '{$token}';
			var priceDisplayPrecision = {$priceDisplayPrecision*$currency->decimals};
			var priceDisplayMethod = {$priceDisplay};
			var roundMode = {$roundMode};
		</script>
		<link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,400,700,900,200italic,400italic,700italic,900italic' rel='stylesheet' type='text/css' />
		<link href='http://fonts.googleapis.com/css?family=Finger+Paint' rel='stylesheet' type='text/css' />
{if isset($css_files)}
	{foreach from=$css_files key=css_uri item=media}
	     <link href="{Tools::getCurrentUrlProtocolPrefix()}media1.elrincondelapasion.com{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
	{/foreach}
{/if}

    {if $LEO_SKIN_DEFAULT &&  $LEO_SKIN_DEFAULT !="default"}
	<link rel="stylesheet" type="text/css" href="{$content_dir}themes/leoshoe/skins/{$LEO_SKIN_DEFAULT}/css/skin.css" media="{$media}" />
	{/if}
	{if $LEO_PANELTOOL}
	<link rel="stylesheet" type="text/css" href="{$content_dir}themes/leoshoe/css/paneltool.css" media="{$media}" />
	{/if}

{if isset($js_files)}
	{foreach from=$js_files item=js_uri}
	<script type="text/javascript" src="{Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)}{$js_uri}"></script>
	{/foreach}
{/if}
		{$HOOK_HEADER}
	</head>
	
	<body {if isset($page_name)}id="{$page_name|escape:'htmlall':'UTF-8'}"{/if} class="{if $hide_left_column}hide-left-column{/if} {if $hide_right_column}hide-right-column{/if}">
	{if !$content_only}
		{if isset($restricted_country_mode) && $restricted_country_mode}
		<div id="restricted-country">
			<p>{l s='You cannot place a new order from your country.'} <span class="bold">{$geolocation_country}</span></p>
		</div>
		{/if}
		<div id="leo-page" class="container_9 {$LEO_BGPATTERN} {if $lang_iso=='fr'}frcss{/if} clearfix">
			
			<!-- Header -->
			<div id="leo-header" class="grid_9 alpha omega">
				<div class="leo-inner">						
						<div class="leo-wrapper">
									<a id="header_logo" href="{$base_dir}" title="{$shop_name|escape:'htmlall':'UTF-8'}">
										<img class="logo" src="{$logo_url}" alt="{$shop_name|escape:'htmlall':'UTF-8'}" {if $logo_image_width}width="{$logo_image_width}"{/if} {if $logo_image_height} height="{$logo_image_height}" {/if} />
									</a>
									<div id="header_right" class="grid_6 omega">
										{$HOOK_TOP}
									</div>	
									{include file="$tpl_dir./breadcrumb.tpl"}	
						</div>
				</div>
			</div><!-- end-header -->
			
			
			
			<div id="leo-maincontainer" class="wrap">
				<div class="leo-inner">					
						<div class="leo-wrapper">
							<div id="leo-columns" class="grid_9 alpha omega clearfix">	
								{if $page_name != "index"}
								<div id="leo-leftcol" class="column grid_2 alpha">
										{$HOOK_LEFT_COLUMN}
								</div><!--leftcol-->
							
							   {/if}							
								<!-- Center -->
								<div id="leo-centercol">
									<div id="center_column" class=" grid_5">
	{/if}

Share this post


Link to post
Share on other sites

ujin81 cambia: 

 

{if isset($css_files)}
{foreach from=$css_files key=css_uri item=media}
    <link href="{Tools::getCurrentUrlProtocolPrefix()}media1.elrincondelapasion.com{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
{/foreach}
{/if}
{if isset($js_files)}
{foreach from=$js_files item=js_uri}
<script type="text/javascript" src="{Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)}{$js_uri}"></script>
{/foreach}
{/if}

Por esto:

{if isset($css_files)}
        {foreach from=$css_files key=css_uri item=media}
        <link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
        {/foreach}
{/if}
{if isset($js_files)}
        {foreach from=$js_files item=js_uri}
        <script type="text/javascript" src="{$js_uri}"></script>
        {/foreach}
{/if}

De todas formas los dos 3 últimos errores son en la configuración del servidor y no del header.tpl.

GET http://media1.elrinc...N-FEROMONAS.jpg 500 (Internal Server Error) [VM] (3035):77
GET http://media1.elrinc...ARILLO-NEON.jpg 500 (Internal Server Error) [VM] (3035):77
GET http://media2.elrinc...LO-DE-FRESA.jpg 500 (Internal Server Error)

Tienes que revisar el error.log.

 

Un saludo

Share this post


Link to post
Share on other sites

Antes que nada agradezco el tutorial de oka, es una excelente información para optimizar la tienda.

 

Tengo una duda, mi hosting es compartido de godaddy, acabamos de implementar la tienda prestashop y tarda entre 10 y 13segundos en cargar! y eso que no tiene nada de contenido aun... al parecer godaddy y prestashop no se llevan bien en servidores compartidos porque tengo otras tiendas CMS y cargan entre 1 y 2 segundos en ese mismo hosting.

 

Configure 3 subdominios desde cpanel que apuntan a el dominio de mi tienda, cambie los códigos de header.tpl que menciona oka y los de cookie.php y todo funciona perfecto, viendo el código fuente veo que al azar a algunos css le asigna el estatico1 a otros el estatico2, etc pero muchos no los toma de los servidores de media sino del dominio principal, me imagino que es porque debo tocar el código de cada modulo, etc. pero ahí no esta mi problema:

 

Yo quiero solucionar lo del contenido duplicado y estuve analizando el código que hay que agregar al .htaccess pero no tiene sentido,

<FilesMatch "\.tpl$">
order deny,allow
deny from all
</FilesMatch>

<Files ~ "^.*\.php">
Order allow,deny
Deny from all
</Files>

<Files ~ "^.*\.html">
Order allow,deny
Deny from all
</Files>

si agrego ese código al .htaccess de mi dominio principal estoy diciéndole que no ejecute nada de php tpl o html lo cual bloquea la pagina completamente, creo que ese código debería ir en el .htaccess de cada uno de los subdominios, no en el principal... el problema es que como los subdominios están "apuntados" al principal pues solo existe un .htaccess, me explico? alguien me puede aclarar eso o si alguien logro implementarlo que fue lo que hizo? es lo único que me falta pero es muy importante para nosotros en cara al SEO.

 

NOTA:

Con los cambios del tutorial de oka el tiempo de carga paso a un promedio de 8segundos lo cual es significativamente menor que antes (12Seg promedio) pero aun es un tiempo muy grande que estoy peleando con godaddy  <_<

 

Si alguien tiene problemas para implementarlo en godaddy, les aparece como si los css no se cargaran o cosas así díganme, a mi me paso asi al principio y toque algunos archivos para que funcionara.

  • Like 1

Share this post


Link to post
Share on other sites

Hola Gruposte agradezco tus palabras.

 

Esas restricciones que hay que poner (como bien apuntas para el tema del SEO) hay que añadirlas en el fichero de configuración de cada virtual host de apache asignado a un media server.

 

Si ponemos esas órdenes en el .htaccess de la tienda dejará de funcionar porque lo que le decimos es que no sirva contenido en PHP.

 

El tema está en que tienes que poner esas restricciones en los virtualhost de apache, no uso Cpanel, pero para personalizar la configuración de un VirtualHost creado con esta herramienta creo que tienes que:

 

Using the Include Editor, place this code into either the "Pre Main Include" or "Pre VirtualHost Include" or "Post VirtualHost Include" sections (All Versions)

 

 

Veo que muchos compañeros tienen esta misma duda, que es en realidad muy sencilla de resolver si tienes acceso a los ficheros de configuración de Apache.

 

El problema que veo es que Cpanel tiene algo "escondida" la opción de editar estos ficheros de Apache, si alguien sabe a ciencia cierta cómo editarlos desde Cpanel y lo pone le ahorrará muchos quebraderos de cabeza a los ususarios.

 

Un saludo

Share this post


Link to post
Share on other sites

Así es, en los hosting compartidos normalmente no te dejan tocar esa configuración, la única manera es contactando al proveedor y tratar de convencerlo, yo ya mande un ticket con godaddy, en unos días les pongo la respuesta que me den.

 

Saludos!

Share this post


Link to post
Share on other sites

 

ujin81 cambia: 

 

{if isset($css_files)}
{foreach from=$css_files key=css_uri item=media}
    <link href="{Tools::getCurrentUrlProtocolPrefix()}media1.elrincondelapasion.com{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
{/foreach}
{/if}
{if isset($js_files)}
{foreach from=$js_files item=js_uri}
<script type="text/javascript" src="{Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)}{$js_uri}"></script>
{/foreach}
{/if}

Por esto:

{if isset($css_files)}
        {foreach from=$css_files key=css_uri item=media}
        <link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
        {/foreach}
{/if}
{if isset($js_files)}
        {foreach from=$js_files item=js_uri}
        <script type="text/javascript" src="{$js_uri}"></script>
        {/foreach}
{/if}

De todas formas los dos 3 últimos errores son en la configuración del servidor y no del header.tpl.

GET http://media1.elrinc...N-FEROMONAS.jpg 500 (Internal Server Error) [VM] (3035):77
GET http://media1.elrinc...ARILLO-NEON.jpg 500 (Internal Server Error) [VM] (3035):77
GET http://media2.elrinc...LO-DE-FRESA.jpg 500 (Internal Server Error)

Tienes que revisar el error.log.

 

Un saludo

 

 

Buenos días Oka.

Muchas gracias por tu tiempo.

 

He hecho lo que me comentabas, pero sigue igual, se me descojona todo.

 

He hablado con el servidor de hosting para que me arreglen lo del registro de errores, porque me aparece vacío. En cuanto me lo arreglen, miraré a ver que sucede con el error 500.

 

¿Puediera tener algo que ver con que mi tema tiene un módulo que configura la apariencia del tema, y que tenga que configurar el módulo para que coja los archivos de los servidores de media?

 

Saludos.

Share this post


Link to post
Share on other sites

Buenos días Oka.

Muchas gracias por tu tiempo.

 

He hecho lo que me comentabas, pero sigue igual, se me descojona todo.

 

He hablado con el servidor de hosting para que me arreglen lo del registro de errores, porque me aparece vacío. En cuanto me lo arreglen, miraré a ver que sucede con el error 500.

 

¿Puediera tener algo que ver con que mi tema tiene un módulo que configura la apariencia del tema, y que tenga que configurar el módulo para que coja los archivos de los servidores de media?

 

Saludos.

 

Lo mejor es esperar al error.log, sin ese archivo estamos ciegos y no se puede saber a ciencia cierta qué es lo que pasa.

 

Un saludo

Share this post


Link to post
Share on other sites

Hola,

 

He intentado de todas las formas configurar los servidores multimedia pero cada vez que agrego alguno la pagina no carga como deveria (faltan imagenes o cosas asi...).

 

Incluso llevo rato buscando y leyendo topics en el foro del tema pero sigo sin lograr que funcione. El problema mas que nada es porque necesito acelerar la pagina ya que carga un poco lento y segun entiendo esto lo acelera.

 

Alguno de ustedes me podria explicar como es que se configura?

 

post-678883-0-11805100-1379190658_thumb.jpg

 

Share this post


Link to post
Share on other sites

  • 2 weeks later...

Hola Oka

 

Tengo las siguientes 2 dudas:

 

1. SI tengo lo siguiente en mi cookie.php

$this->_domain = $this->getDomain($shared_urls);

¿Debería de dejarlo así?

$this->_domain = 'www.mitienda.com'($shared_urls);

 

2. Si inserto el siguiente codigo en el htacces la web no carga

 

<FilesMatch "\.tpl$">
order deny,allow
deny from all

</FilesMatch>

<Files ~ "^.*\.php">
Order allow,deny
Deny from all

</Files>

<Files ~ "^.*\.html">
Order allow,deny
Deny from all

</Files>

 

 

EDITO:

Por cierto, desde que se están sirviendo imgs, css y jss desde mediaservers ha bajado el pagespeed 13 puntos, la razón es que ahora indica que hay muchos redireccionamientos

 

Un saludo y gracias

Edited by seog (see edit history)

Share this post


Link to post
Share on other sites

Hola Oka

 

Tengo las siguientes 2 dudas:

 

1. SI tengo lo siguiente en mi cookie.php

$this->_domain = $this->getDomain($shared_urls);

¿Debería de dejarlo así?

$this->_domain = 'www.mitienda.com'($shared_urls);

 

2. Si inserto el siguiente codigo en el htacces la web no carga

 

<FilesMatch "\.tpl$">

order deny,allow

deny from all

</FilesMatch>

 

<Files ~ "^.*\.php">

Order allow,deny

Deny from all

</Files>

 

<Files ~ "^.*\.html">

Order allow,deny

Deny from all

</Files>

 

 

EDITO:

Por cierto, desde que se están sirviendo imgs, css y jss desde mediaservers ha bajado el pagespeed 13 puntos, la razón es que ahora indica que hay muchos redireccionamientos

 

Un saludo y gracias

 

A la pregunta número 1:

$this->_domain = 'www.mitienda.com';

Así es como lo tengo yo, siempre hablando de la rama 1.4. (la 1.5 no la uso y no sabría decirte)

 

A la pregunta número 2:

 

Ésto se ha contestado ya unas cuantas veces a lo largo del hilo, pero te lo repito, las restricciones hay que ponerlas en los ficheros de configuración de los medias servers y no en el archivo de configuración de la tienda ni en un .htaccess porque la tienda, obviamente, deja de funcionar.

 

Esas directrices se ponen en los ficheros de configuración de los Virtual Hosts de Apache para servir los media servers.

 

Un saludo.

Share this post


Link to post
Share on other sites

¿Cuando dices "Esas directrices se ponen en los ficheros de configuración de los Virtual Hosts de Apache para servir los media servers" te refieres a añadir lo siguiente en el httpd.conf ?

<VirtualHost *:80>
		ServerAdmin [email protected]
		ServerName static1.MYTIENDA.com
		DocumentRoot /var/www/NOMBREDEMITHEME/
		<Directory />
				Options FollowSymLinks
				AllowOverride None
		</Directory>
		<Directory /var/www/NOMBREDEMITHEME>
				Options Indexes FollowSymLinks MultiViews
				AllowOverride FileInfo Indexes
				Order allow,deny
				allow from all
				<FilesMatch "\.tpl$">
				  order deny,allow
				   deny from all
				  </FilesMatch>
		</Directory>
				
				<Files ~ "^.*\.php">
				  Order allow,deny
				  Deny from all
				 </Files>
				<Files ~ "^.*\.html">
					Order allow,deny
					Deny from all
				</Files>
</VirtualHost>

<VirtualHost *:80>
		ServerAdmin [email protected]
		ServerName static2.MYTIENDA.com
		DocumentRoot /var/www/NOMBREDEMITHEME/
		<Directory />
				Options FollowSymLinks
				AllowOverride None
		</Directory>
		<Directory /var/www/NOMBREDEMITHEME>
				Options Indexes FollowSymLinks MultiViews
				AllowOverride FileInfo Indexes
				Order allow,deny
				allow from all
				<FilesMatch "\.tpl$">
				  order deny,allow
				   deny from all
				  </FilesMatch>
		</Directory>
				
				<Files ~ "^.*\.php">
				  Order allow,deny
				  Deny from all
				 </Files>
				<Files ~ "^.*\.html">
					Order allow,deny
					Deny from all
				</Files>
</VirtualHost>

<VirtualHost *:80>
		ServerAdmin [email protected]
		ServerName static3.MYTIENDA.com
		DocumentRoot /var/www/NOMBREDEMITHEME/
		<Directory />
				Options FollowSymLinks
				AllowOverride None
		</Directory>
		<Directory /var/www/NOMBREDEMITHEME>
				Options Indexes FollowSymLinks MultiViews
				AllowOverride FileInfo Indexes
				Order allow,deny
				allow from all
				<FilesMatch "\.tpl$">
				  order deny,allow
				   deny from all
				  </FilesMatch>
		</Directory>
				
				<Files ~ "^.*\.php">
				  Order allow,deny
				  Deny from all
				 </Files>
				<Files ~ "^.*\.html">
					Order allow,deny
					Deny from all
				</Files>
</VirtualHost>

Un saludo y muchas gracias

Edited by seog (see edit history)

Share this post


Link to post
Share on other sites

¿Cuando dices "Esas directrices se ponen en los ficheros de configuración de los Virtual Hosts de Apache para servir los media servers" te refieres a añadir lo siguiente en el httpd.conf ?

<VirtualHost *:80>
		ServerAdmin [email protected]
		ServerName static1.MYTIENDA.com
		DocumentRoot /var/www/NOMBREDEMITHEME/
		<Directory />
				Options FollowSymLinks
				AllowOverride None
		</Directory>
		<Directory /var/www/NOMBREDEMITHEME>
				Options Indexes FollowSymLinks MultiViews
				AllowOverride FileInfo Indexes
				Order allow,deny
				allow from all
				<FilesMatch "\.tpl$">
				  order deny,allow
				   deny from all
				  </FilesMatch>
		</Directory>
				
				<Files ~ "^.*\.php">
				  Order allow,deny
				  Deny from all
				 </Files>
				<Files ~ "^.*\.html">
					Order allow,deny
					Deny from all
				</Files>
</VirtualHost>

<VirtualHost *:80>
		ServerAdmin [email protected]
		ServerName static2.MYTIENDA.com
		DocumentRoot /var/www/NOMBREDEMITHEME/
		<Directory />
				Options FollowSymLinks
				AllowOverride None
		</Directory>
		<Directory /var/www/NOMBREDEMITHEME>
				Options Indexes FollowSymLinks MultiViews
				AllowOverride FileInfo Indexes
				Order allow,deny
				allow from all
				<FilesMatch "\.tpl$">
				  order deny,allow
				   deny from all
				  </FilesMatch>
		</Directory>
				
				<Files ~ "^.*\.php">
				  Order allow,deny
				  Deny from all
				 </Files>
				<Files ~ "^.*\.html">
					Order allow,deny
					Deny from all
				</Files>
</VirtualHost>

<VirtualHost *:80>
		ServerAdmin [email protected]
		ServerName static3.MYTIENDA.com
		DocumentRoot /var/www/NOMBREDEMITHEME/
		<Directory />
				Options FollowSymLinks
				AllowOverride None
		</Directory>
		<Directory /var/www/NOMBREDEMITHEME>
				Options Indexes FollowSymLinks MultiViews
				AllowOverride FileInfo Indexes
				Order allow,deny
				allow from all
				<FilesMatch "\.tpl$">
				  order deny,allow
				   deny from all
				  </FilesMatch>
		</Directory>
				
				<Files ~ "^.*\.php">
				  Order allow,deny
				  Deny from all
				 </Files>
				<Files ~ "^.*\.html">
					Order allow,deny
					Deny from all
				</Files>
</VirtualHost>

Un saludo y muchas gracias

 

Hola, 

 

Eso es , ahí es donde hay que ponerlo.

 

Un saludo.

Share this post


Link to post
Share on other sites

Hola Oka,

 

Algo debe estar mal en la ruta DocumentRoot /var/www/prestashop/ porque el plesk me avisa a mi email del siguiente error: 

 

 

Warning: DocumentRoot [/var/www/prestashop/] does not exist

Syntax error on line 1024 of /etc/httpd/conf/httpd.conf:
order takes one argument, 'allow,deny', 'deny,allow', or 'mutual-failure'

 

He hecho la prueba con DocumentRoot /var/www/prestashop/ y DocumentRoot /var/www/NOMBREDEMITHEME/ pero da error.  ¿Crees que la ruta deberia ser DocumentRoot /var/www/themes/NOMBREdemiTHEME/ ?

 

Un saludo y muchas gracias

 

EDITO:

Adjunto la ruta de mi web: /var/www/vhosts/mitienda.com

Adjunto la ruta del dominio statico: /var/www/vhosts/static1.mitienda.com

¿Para corregir el error de ruta habria que poner el de la web principal, del theme de la web o de los subdominios estáticos?

Edited by seog (see edit history)

Share this post


Link to post
Share on other sites

  • 2 weeks later...

Buenas Oka.

 

Después de unos días migrando la tienda a otro servidor, estoy intentando montar los servidores de media.

 

Los he montado, me sale bien la página, pero no las imágenes de los productos. Chrome me da estos errores (en el log de errores no me dice nada al respecto):

 

Uncaught TypeError: Cannot set property 'innerHTML' of null (index):201
Failed to load resource: the server responded with a status of 403 (Forbidden) http://media1.elrincondelapasion.com/5231-home_leoshoe/MINI-CONEJITO-RAMPANTE.jpg
Failed to load resource: the server responded with a status of 403 (Forbidden) http://media1.elrincondelapasion.com/790-home_leoshoe/FEMALE-BOOSTER-CREMA-REAFIRMANTE-DE-SENOS.jpg
Failed to load resource: the server responded with a status of 403 (Forbidden) http://media1.elrincondelapasion.com/165-home_leoshoe/SHUNGA-COLECCION-DE-TERNURA-Y-PASION.jpg
 
Como te decía, la página aparece bien montada (parece que los css los sirve desde los servidores de media), pero no aparecen las imágenes de los productos.
 
Saludos

Share this post


Link to post
Share on other sites

Buenas tardes de nuevo oka

 

 

Buenas Oka.

 

Después de unos días migrando la tienda a otro servidor, estoy intentando montar los servidores de media.

 

Los he montado, me sale bien la página, pero no las imágenes de los productos. Chrome me da estos errores (en el log de errores no me dice nada al respecto):

 

Uncaught TypeError: Cannot set property 'innerHTML' of null (index):201
Failed to load resource: the server responded with a status of 403 (Forbidden) http://media1.elrincondelapasion.com/5231-home_leoshoe/MINI-CONEJITO-RAMPANTE.jpg
Failed to load resource: the server responded with a status of 403 (Forbidden) http://media1.elrincondelapasion.com/790-home_leoshoe/FEMALE-BOOSTER-CREMA-REAFIRMANTE-DE-SENOS.jpg
Failed to load resource: the server responded with a status of 403 (Forbidden) http://media1.elrincondelapasion.com/165-home_leoshoe/SHUNGA-COLECCION-DE-TERNURA-Y-PASION.jpg
 
Como te decía, la página aparece bien montada (parece que los css los sirve desde los servidores de media), pero no aparecen las imágenes de los productos.
 
Saludos

 

 

Buenas tardes.

 

Me respondo yo mismo.

 

Al revisar el .htaccess, tenía una regla de redireccionamiento antigua, del antiguo hosting

RewriteCond %{HTTP_REFERER} !^http://elrincondelapasion-com.....*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://elrincondelapasion-com....$      [NC]
RewriteCond %{HTTP_REFERER} !^http://..../.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://....$      [NC]
RewriteCond %{HTTP_REFERER} !^http://www.elrincondelapasion-com.......com/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://www.elrincondelapasion-com.......com$      [NC]
RewriteCond %{HTTP_REFERER} !^http://......./.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://.......$      [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ - [F,NC]

RewriteCond %{HTTP_HOST} ^elrincondelapasion\-com\.......$ [OR]
RewriteCond %{HTTP_HOST} ^www\.elrincondelapasion\-com\.........$
RewriteRule ^/?$ "http\:\/\/www\.elrincondelapasion\.com" [R=301,L]

He eliminado esas líneas, he vuelto a introducir los servidores en prestashop, y .... funciona, creo que perfectamente.

 

Ahora solo me falta ponerme en contacto con el hosting para que me hagan las modificaciones en apache.

 

Oka, ¿cómo diagnostico que la tienda me está enviado el contenido correctamente?

 

Saludos

Share this post


Link to post
Share on other sites

A la pregunta número 1:

$this->_domain = 'www.mitienda.com';

Así es como lo tengo yo, siempre hablando de la rama 1.4. (la 1.5 no la uso y no sabría decirte)

 

A la pregunta número 2:

 

Ésto se ha contestado ya unas cuantas veces a lo largo del hilo, pero te lo repito, las restricciones hay que ponerlas en los ficheros de configuración de los medias servers y no en el archivo de configuración de la tienda ni en un .htaccess porque la tienda, obviamente, deja de funcionar.

 

Esas directrices se ponen en los ficheros de configuración de los Virtual Hosts de Apache para servir los media servers.

 

Un saludo.

 

Buenas tardes,

a mi me funciona así en v.1.5.4.1:

$this->_domain = 'www.mitienda.com';

Share this post


Link to post
Share on other sites

  • 5 weeks later...

Añado:

 

He conseguido arreglar el problemaco del CSS con estas instrucciones.

http://forge.prestashop.com/browse/PSCFI-2909

 

La página carga en 4 segundos la primera vez, y en 1 u 2 a partir de ahí.

 

Por fiiinnnn.

 

Nota: Para el problema del fondo (background-image) quien tenga uno, poner la imagen en la carpeta del theme, y nunca en la carpeta img principal (thx Nadie).

 

Saludos.

Pues a ver como lo has resuelto por que mi problema es que se me descuadra la tienda en el tercer paso al añadir los media server. No entiendo el por que se descuadra toda la pagina. Una ayudita por favor.  :rolleyes:

Share this post


Link to post
Share on other sites

Hola.

 

Tanto el DocumentRoot como Directory deben apuntar a la carpeta donde tienes instalado prestashop no tu theme.

 

Un saludo.

Buenas Oka:

 

Lo primero agradecerte el post y lo segundo a ver si me puedes orientar por que se me duplican los media :

 

name="author"><meta name="robots" content="index,follow"/><link rel="icon" type="image/vnd.microsoft.icon" href="http://media2.compatoner.com/img/favicon.ico?1378825165"/><link rel="shortcut icon" type="image/x-icon" href="http://media2.compatoner.com/img/favicon.ico?1378825165"/

 

 

Y si le doy al enlace, me dice que no existe :S

Share this post


Link to post
Share on other sites