Lex-Luthor Posted November 12, 2012 Share Posted November 12, 2012 Hola a todos. Me he puesto a trabajar para mejorar la velocidad de la tienda. Y me he encontrado con alguna duda en el apartado Servidores de Media. He leído bastante sobre el tema. *En unos sitios dicen que cree 3 subdominios que apunten al dominio principal *En otros que cree 4 subdominios de este modo. js1.mitienda.com - Apuntando a la carpeta JS de Prestashop js2.mitienda.com - Apuntando a la carpeta JS del tema que estemos usando de Prestashop css1.mitienda.com - Apuntando a la carpeta CSS de Prestashop css2.mitienda.com - Apuntando a la carpeta CSS del tema que estamos usando de Prestashop (En este caso tengo la duda ya que prestashop sólo admite 3 servidores) He probado la primera opción y no se ven las imágenes de la tienda, no se si esque se está haciendo mal la redirección de los subdominios o que está pasando. Alguien ha configurado esto alguna vez con subdominios? Como hay que hacerlo exactamente. Muchas gracias a todos Link to comment Share on other sites More sharing options...
Lex-Luthor Posted November 12, 2012 Author Share Posted November 12, 2012 Se me olvidaba. Le he pedido a mi proveedor de hosting que redireccione los subdominios al dominio principal y lo que ha hecho es modificar el fichero index de cada subdominio con este código: <html> <head> <META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://www.mitienda.es/"> </head> </html> Link to comment Share on other sites More sharing options...
Lex-Luthor Posted November 12, 2012 Author Share Posted November 12, 2012 Hola has probado a hacer la redirección con el htaccess? Prueba así: RewriteEngine onRewriteCond %{HTTP_HOST} ^media.tu-domino.com$ [OR]RewriteCond %{HTTP_HOST} ^www.media.tu-domino.com$RewriteRule ^(.*)$ http://www.tu-domino.com/$1 [R=301,L] Saludos No no lo he probado. He de decir que mi tienda tiene un peculiaridad. Está instalada en la carpeta tiendaonline/ y ahí es donde está el archivo .htaccess He creado 3 subdominios static, static1 y static2 Que líneas debería añaadir al .htaccess, teniendo en cuenta que la tienda está en www.elbauldenoa.es/tiendaonline/ Muchas gracias Link to comment Share on other sites More sharing options...
Lex-Luthor Posted November 12, 2012 Author Share Posted November 12, 2012 (edited) Vaya me da error al postear código... Tan solo añade un htaccess a cada subdominio con su regla correspondiente. RewriteEngine on RewriteCond %{HTTP_HOST} ^static.elbauldenoa.es/tiendaonline/$ [OR] RewriteCond %{HTTP_HOST} ^www.static.elbauldenoa.es/tiendaonline/$ RewriteRule ^(.*)$ http://www.elbauldenoa.es/tiendaonline/$1 [R=301,L] Debería poner entonces tres archivos .httaccess algo así en mi caso. Y liego eso debo informarlo en el Servidores de media? Edited November 12, 2012 by Lex-Luthor (see edit history) Link to comment Share on other sites More sharing options...
Lex-Luthor Posted November 12, 2012 Author Share Posted November 12, 2012 Correcto, pero prueba a hacer los htaccess por separado y lo subes a la carpeta de su subdominio correspondiente. Ya he puesto cada correspondiente .httaccess en la carpeta raíz de cada subdominio. Una vez hecho esto, supongo que lo siguiente es poner en servidores media el nombre de los tres subdominios no? en mi caso static.elbauldenoa.es static1.elbauldenoa.es static2.elbauldenoa.es Si hago esto, no se muestran las imágenes de la página.. ¿alguna sugerencia? Gracias Link to comment Share on other sites More sharing options...
Lex-Luthor Posted November 12, 2012 Author Share Posted November 12, 2012 (edited) Hola de nuevo, prueba con un solo subdominio y no olvides activar la compresión CCC para los javascript, etc... una ves hecho avisa para chequear la url. Ya está con uno sólo, puesto en prestashop. Los otros dos no los he borrado del hosting Pero no se ven las imágenes. Y activados el CCC A ver si va a ser la plantilla. www.elbauldenoa.es/tiendaonline/ Edited November 12, 2012 by Lex-Luthor (see edit history) Link to comment Share on other sites More sharing options...
Lex-Luthor Posted November 12, 2012 Author Share Posted November 12, 2012 Okis lo veo, has una cosa. Lleva el htaccess del subdominio static a la carpeta raíz de la web (no del prestashop). Ojo que es posible que ya tengas un htaccess. ya está. Pero no se ven Link to comment Share on other sites More sharing options...
Lex-Luthor Posted November 12, 2012 Author Share Posted November 12, 2012 No hace la redireccón... esto he puesto en el .htaccess en la raíz de static RewriteEngine on RewriteCond %{HTTP_HOST} ^static.elbauldenoa.es/tiendaonline/$ [OR] RewriteCond %{HTTP_HOST} ^www.static.elbauldenoa.es/tiendaonline/$ RewriteRule ^(.*)$ http://www.elbauldenoa.es/tiendaonline/$1 no entra a http://static.elbauldenoa.es/tiendaonline esto me debería llevar a la web no? Link to comment Share on other sites More sharing options...
oka Posted November 12, 2012 Share Posted November 12, 2012 Hola. Un apunte, si estamos creando subdominios para conseguir que el navegador de un cliente pida en paralelo las imágenes, JS y CSS para ganar en velocidad y vamos nosotros y le ponemos una redirección pues en vez de ganar en velocidad hacemos justo lo contrario. Navegador----> dame la web -----> servidor ----> toma los JS pídelos a static.tienda.com ------> se produce una petición al Apache GET static.tienda.com/js/mi.js ------> en vez de servir el JS se le sirve al navegador un código 301 para que pida de nuevo el JS a la nueva dirección y así con las imágenes y CSS. Bajo mi punto de vista lo que hay que hacer es crear 3 subdominios (que en mi caso son simples enlaces a la carpeta "prestashop") y configurar los media servers en prestashop y listo. Tu tema, tus módulos deben de ser compatibles, si no no harán uso de los media servers, o si hacen uso sólo lo harán usando el primer media server. Un saludo. Link to comment Share on other sites More sharing options...
oka Posted November 12, 2012 Share Posted November 12, 2012 Hola Statictic. Ahora mismo el compañero le pasa justo lo que comento, en su web ahora mismo muestra el archivo favicon.ico desde un media server: http://static.elbauldenoa.es/tiendaonline/img/favicon.ico?1352457175 Al hacer una petición a ese archivo mira lo que hace el servidor: wget -S -U wee http://static.elbauldenoa.es/tiendaonline/img/favicon.ico?1352457175 --2012-11-12 18:33:42-- http://static.elbauldenoa.es/tiendaonline/img/favicon.ico?1352457175 Resolving static.elbauldenoa.es... 46.29.49.1 Connecting to static.elbauldenoa.es|46.29.49.1|:80... connected. HTTP request sent, awaiting response... HTTP/1.1 301 Moved Permanently Date: Mon, 12 Nov 2012 17:33:42 GMT Server: Apache/2 Location: http://www.elbauldenoa.es/tiendaonline/img/favicon.ico?1352457175 Content-Length: 346 Keep-Alive: timeout=1, max=100 Connection: Keep-Alive Content-Type: text/html; charset=iso-8859-1 Location: http://www.elbauldenoa.es/tiendaonline/img/favicon.ico?1352457175 [following] --2012-11-12 18:33:42-- http://www.elbauldenoa.es/tiendaonline/img/favicon.ico?1352457175 Resolving www.elbauldenoa.es... 46.29.49.1 Reusing existing connection to static.elbauldenoa.es:80. HTTP request sent, awaiting response... Como ves se realizan dos peticiones con lo que estamos haciendo que vaya aún más lento. Un saludo. Link to comment Share on other sites More sharing options...
oka Posted November 12, 2012 Share Posted November 12, 2012 El problema que aparece al no hacer la redirección es que san google verá que static.tienda.com, static1.tienda.com, static2.tienda.com y como no www.tienda.com como contenido duplicado. Una de las soluciones es configurar Apache para servir sólo archivos JS,CSS, JPG|PNG|GIF desde los media servers prohibiendo la ejecución de los php, es decir de los media servers sólo deben de servirse los archivos estáticos y nunca el contenido dinámico. Un saludo Link to comment Share on other sites More sharing options...
oka Posted November 12, 2012 Share Posted November 12, 2012 Si no te dejan poner un .htaccess con un disallow yo lo que haría sería hacer un enlace simbólico a las carpetas de los JS/CSS/IMG así no te arriesgas a que google lo indexe y te penalice. Un saludo. Link to comment Share on other sites More sharing options...
Lex-Luthor Posted November 14, 2012 Author Share Posted November 14, 2012 Si no te dejan poner un .htaccess con un disallow yo lo que haría sería hacer un enlace simbólico a las carpetas de los JS/CSS/IMG así no te arriesgas a que google lo indexe y te penalice. Un saludo. He creado 3 subdominios que redireccionan al principal con su correspondiente .htaccess de este modo: RewriteEngine on RewriteCond %{HTTP_HOST} ^static_x.elbauldenoa.es [NC] RewriteRule ^(.*)$ http://www.elbauldenoa.es/$1 [L,R=301] Ahora cuando cargo una página, las imágenes les carga indistintamente de cada uno de los 3 subdominios. Que os parece la solución. ¿Me penalizará google? ¿Alguna idea mejor?, como debería hacerlo para CSS y js Gracias Link to comment Share on other sites More sharing options...
oka Posted November 14, 2012 Share Posted November 14, 2012 Hola. Hay mucha confusión con esto de los media servers. No hay que hacer ninguna redirección, si lo haces estás haciendo justo lo contrario de lo que buscas y es hacer aún más lento la navegación. Por cada petición que se hace a cualquiera de tus media servers, con la redirección, le sumas una conexión más. La idea es que el navegador de un usuario pueda lanzar en paralelo varias conexiones al servidor. Si el navegador pide static.tienda.com y tu servidor NO le devuelve el contenido sino una REDIRECCION a, para más inri, a la url principal además de no poder usar las conexiones paralelas estás duplicando todo el trabajo, tanto el Apache como el navegador del cliente hacen el doble de trabajo para descargar, por ejemplo, un javascript o una imagen de tu servidor. Además como te comenta Statictic tu tema no es compatible con los media servers, mira cómo sirves los JS/CSS en el tema y mira cómo lo hace con el fichero favicon.ico <link rel="icon" type="image/vnd.microsoft.icon" href="http://static.elbauldenoa.es/tiendaonline/img/favicon.ico?1352457175"> <link href="/tiendaonline/themes/uhupage free001/css/global.css" rel="stylesheet" type="text/css" media="all"> Para echar a andar tu tema (y módulos) con los media servers necesitas modificar el archivo header.tpl de tu tema, así sirvo yo los javascripts : <script type="text/javascript" src="{Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)}{$js_uri}"></script> Mi consejo es que quites los media servers hasta que tu tema sea compatible porque aunque resuelvas el problema de la redirección no vas a notar mejora alguna. Un saludo Link to comment Share on other sites More sharing options...
Lex-Luthor Posted November 14, 2012 Author Share Posted November 14, 2012 Hola. Hay mucha confusión con esto de los media servers. No hay que hacer ninguna redirección, si lo haces estás haciendo justo lo contrario de lo que buscas y es hacer aún más lento la navegación. Por cada petición que se hace a cualquiera de tus media servers, con la redirección, le sumas una conexión más. La idea es que el navegador de un usuario pueda lanzar en paralelo varias conexiones al servidor. Si el navegador pide static.tienda.com y tu servidor NO le devuelve el contenido sino una REDIRECCION a, para más inri, a la url principal además de no poder usar las conexiones paralelas estás duplicando todo el trabajo, tanto el Apache como el navegador del cliente hacen el doble de trabajo para descargar, por ejemplo, un javascript o una imagen de tu servidor. Además como te comenta Statictic tu tema no es compatible con los media servers, mira cómo sirves los JS/CSS en el tema y mira cómo lo hace con el fichero favicon.ico <link rel="icon" type="image/vnd.microsoft.icon" href="http://static.elbauldenoa.es/tiendaonline/img/favicon.ico?1352457175"> <link href="/tiendaonline/themes/uhupage free001/css/global.css" rel="stylesheet" type="text/css" media="all"> Para echar a andar tu tema (y módulos) con los media servers necesitas modificar el archivo header.tpl de tu tema, así sirvo yo los javascripts : <script type="text/javascript" src="{Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)}{$js_uri}"></script> Mi consejo es que quites los media servers hasta que tu tema sea compatible porque aunque resuelvas el problema de la redirección no vas a notar mejora alguna. Un saludo Ok. Entendido 1) Entonces que cambios he de hacer en el header de mi tienda? Existe algún post relacionado. 2) Una vez modificado el tema y compatible como se han de crear los subdominios. Muchas gracias Link to comment Share on other sites More sharing options...
oka Posted November 14, 2012 Share Posted November 14, 2012 Hola. Mi consejo es que no te metas en este lío tú sólo con esas dudas, no lo tomes a mal La modificación del Header.tpl y los módulos que uses no sé si será compatible con la modificación que te he puesto más arriba. Esta modificación la he hecho para el tema prestashop_new y no sé si será válida para tu tema. Si además usas certificado SSL vas a tener que tunear bastante la configuración de Apache para que no te de errores. De todas formas aquí te dejo un hilo donde hablo del tema con Statictic: http://www.prestashop.com/forums/topic/176290-solucionadogenerar-url-img-src-en-modulos/page__fromsearch__1 Un saludo. Link to comment Share on other sites More sharing options...
Lex-Luthor Posted November 15, 2012 Author Share Posted November 15, 2012 Hola. Mi consejo es que no te metas en este lío tú sólo con esas dudas, no lo tomes a mal La modificación del Header.tpl y los módulos que uses no sé si será compatible con la modificación que te he puesto más arriba. Esta modificación la he hecho para el tema prestashop_new y no sé si será válida para tu tema. Si además usas certificado SSL vas a tener que tunear bastante la configuración de Apache para que no te de errores. De todas formas aquí te dejo un hilo donde hablo del tema con Statictic: http://www.prestasho...__fromsearch__1 Un saludo. Hola oka. Lo primero muchas gracias por la ayuda. Voy a intentar hacer las modificaciones en el tema. Es cierto que tengo dudas importantes en algunos conceptos pues no soy experto desarrollador web. Pero creo que puedo aventurarme a modificar el código. Primero he de comentar que no uso SSL ni creo que lo haga, supongo que esto lo hace más sencillo. En primer lugar voy a modificar el header del tema principal: {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} * y supongo que luego he de ir cambiando los módulos que tiran de css y js del mismo modo no? ** Una vez hecho esto sigo teniendo la duda de que hacer con los mediaserver una vez creados los subdominios (hago redirecciones, no las hago, copio los css, js en los subdominios....etc). *** Otra cosa, si únicamente modifico el header del tema y los modulos los voy cambiando poco a poco no habría ningún problema no? Entiendo que el rendimiento iría mejorando conforme modifico los módulos y mientras tanto estos se comportarían como lo hacen hasta ahora. Saludos Link to comment Share on other sites More sharing options...
oka Posted November 15, 2012 Share Posted November 15, 2012 Hola. Una vez hecho esto sigo teniendo la duda de que hacer con los mediaserver una vez creados los subdominios (hago redirecciones, no las hago, copio los css, js en los subdominios....etc). No, no debes hacer ningún tipo de redirección, si lo haces lo estarás haciendo mal aunque te "parezca" que funciona. Tienes que copiar los archivos a los subdominios, o hacer unos enlaces simbólicos a la carpeta de prestashop, así lo tengo hecho yo. static ----> prestashop static1 ---> prestashop static2 ---> prestashop Y te ahorras el tener que sincronizar las carpetas cuando por ejemplo subas un artículo nuevo (tendrías que copiar a mano la imagen del producto al directorio correspondiente, con los enlaces simbólicos te ahorras todo ésto) Para que lo entiendas mejor, vas a pasar de tener 'un servidor' a tener '4 servidores', cuando el navegador de un cliente pida el index de tu web, Apache le dirá al navegador que 'tu web' está repartida en 4 servidores DISTINTOS. Recuerda que si haces enlaces simbólicos google yo y cualquier robor podrá entrar en tu tienda por la url static*.tienda.com y eso a los robots no les gusta un pelo, así que debes de decirle a Apache que NO sirva scripts php por esos dominios (para afinar aún más yo tengo puesto que sólo se sirven CSS/JS/JPG/PNG desde esos subdominios) * y supongo que luego he de ir cambiando los módulos que tiran de css y js del mismo modo no? En efecto así es, módulo por módulo tienes que ir modificando la forma en la que se sirven los archivos estáticos, por propia experiencia no he visto todavía un módulo que haga uso de los media servers, así que te tocará modificarlos todos. *** Otra cosa, si únicamente modifico el header del tema y los modulos los voy cambiando poco a poco no habría ningún problema no? Entiendo que el rendimiento iría mejorando conforme modifico los módulos y mientras tanto estos se comportarían como lo hacen hasta ahora. Eso es, irá mejorando poco a poco sin que tu servicio sufra de ningún tipo de interrupción o fallo. Si no usas SSL es un paso que tienes ganado, porque eso ya es harina de otro costal, implica la compra de un certificado SSL wildcard y un tuneo importante del Apache. Un saludo. Link to comment Share on other sites More sharing options...
Lex-Luthor Posted November 15, 2012 Author Share Posted November 15, 2012 Recuerda que si haces enlaces simbólicos google yo y cualquier robor podrá entrar en tu tienda por la url static*.tienda.com y eso a los robots no les gusta un pelo, así que debes de decirle a Apache que NO sirva scripts php por esos dominios (para afinar aún más yo tengo puesto que sólo se sirven CSS/JS/JPG/PNG desde esos subdominios) Ok. Aquí es donde yo me pierdo He leido un poco de enlaces simbólicos, son como accesos directos que se crean desde la línea de comandos de linux. Tengo host compartido y me da la sensación de que no voy a poder hacer eso. Tendré que hablar con mi proveedor. Haber como les explico lo que necesito. Les digo que me creen unos enlaces simbólicos sólo a las carpetas del dominio principal donde tengo esos css/js/..etc es esai? Gracia por todo, creo q ya voy viendo la luz Link to comment Share on other sites More sharing options...
oka Posted November 16, 2012 Share Posted November 16, 2012 Hola. Los enlaces simbólicos son como "un acceso directo a una carpeta de windows". Por FTP podrás crearlos si te permiten enviar comandos raw al servidor, yo administro los servidores por ssh que es más sencillo que tener herramientas como FTP o Paneles de administración tipo Cpanel. Los del Hosting o tú a través del Cpanel (o la herramienta que uses para administrar el server) debes de crear 3 subdominios y crear los enclaces simbólicos a la carpeta principal donde está alojada la tienda. Un slaudo Link to comment Share on other sites More sharing options...
Recommended Posts