Foros del Web » Administración de Sistemas » Apache »

Redirección WWW

Estas en el tema de Redirección WWW en el foro de Apache en Foros del Web. Buenas tardes: He montado una tienda prestashop (nueva) pero se ve que por defecto el dominio es "mitienda.com" cuando querría que fuera "www.mitienda.com". He probado ...
  #1 (permalink)  
Antiguo 25/05/2015, 03:47
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Redirección WWW

Buenas tardes:

He montado una tienda prestashop (nueva) pero se ve que por defecto el dominio es "mitienda.com" cuando querría que fuera "www.mitienda.com".

He probado a hacerlo tanto por el panel de administración (en el apartado SEO/URL) como por .htaccess, pongo algunos códigos que he probado:

Código HTML:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^midominio.com [NC]
RewriteRule ^(.*)$ http://www.midominio.com/$1 [L,R=301]
Código HTML:
<IfModule mod_rewrite.c>
RewriteEngine on    
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
</IfModule> 
Ambos códigos los he puesto al principio del htaccess, pero no hay forma, cuando entro a la web devuelve error con este código.

La instalación la hice con Prestashop 1.6.0.14, y he consultado en el foro oficial pero no suelen haber respuestas a cuestiones a nivel de programación, así que pregunto aquí ¿Cuál es la forma ideal para usar el dominio con "www"?.

Gracias, un saludo.
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...
  #2 (permalink)  
Antiguo 25/05/2015, 05:36
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Respuesta: Redirección WWW

Seguro que alguien puede echarme un cable, solo hace falta redireccionar las URL que no lleven "www" a la misma URL con el "www".

Muy sencillo. Gracias de antemano, un cordial saludo.
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...
  #3 (permalink)  
Antiguo 25/05/2015, 11:55
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Redirección WWW

Así deberia de funcionar:
Código Apache:
Ver original
  1. # mostrar siempre las www
  2. RewriteCond %{HTTP_HOST} .
  3. RewriteCond %{HTTP_HOST} !^www\.miweb\.com$
  4. RewriteRule (.*) http://www.miweb.com/$1 [R=301,L]
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #4 (permalink)  
Antiguo 25/05/2015, 15:28
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Respuesta: Redirección WWW

Gracias por responder.

Lo he probado y me salta el error "Esta página web tiene un bucle de redireccionamiento":



¿Qué podría ser?.
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...
  #5 (permalink)  
Antiguo 26/05/2015, 02:44
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Redirección WWW

Cita:
¿Qué podría ser?.
Que lo tienes ya discriminado, posiblemente en tu panel de control de hosting, plesk, cpanel, etc...

También puedes probar a modificar la regla que te puse... borra la www.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #6 (permalink)  
Antiguo 26/05/2015, 04:01
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Respuesta: Redirección WWW

Buenos días:

He revisado el Plesk y he seleccionado como dominio preferente con "www", sigue dando error de bucle. Lo he dejado como estaba y he colocado el htaccess sin el "www", pero no hace nada.

¡Pero buenas noticias!, he detectado el problema (aunque no sé cómo solucionarlo):

Desactivando las URL's amigables, ya aparece el dominio correctamente con "www". Sin embargo, las URL amigables me son absolutamente necesarias.

No comprendo por qué con las URL amigables no funciona el dominio con "www" y da error de bucle de redireccionamiento.

Quizá me puedas echar un cable.
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...
  #7 (permalink)  
Antiguo 26/05/2015, 04:14
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Redirección WWW

Revisa tu htaccess...
Aparte de las url's amigables tienes una regla similar a la que te puse.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #8 (permalink)  
Antiguo 26/05/2015, 05:03
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Respuesta: Redirección WWW

He encontrado lo siguiente en el .htaccess, ¿alguna de las líneas podría ser lo que provoca la redirección?:

Código HTML:
<IfModule mod_rewrite.c>
<IfModule mod_env.c>
SetEnv HTTP_MOD_REWRITE On
</IfModule>

RewriteEngine on


#Domain: dominio.com
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api$ api/ [L]

RewriteRule ^api/(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]
Sobrepasa mis conocimientos. Dejo el .htaccess completo que es cortito:

Código HTML:
# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# http://www.prestashop.com - http://www.prestashop.com/forums

<IfModule mod_rewrite.c>
<IfModule mod_env.c>
SetEnv HTTP_MOD_REWRITE On
</IfModule>

RewriteEngine on


#Domain: dominio.com
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api$ api/ [L]

RewriteRule ^api/(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

# Images
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]
RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]
RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]
# AlphaImageLoader for IE and fancybox
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]

# Dispatcher
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]
</IfModule>

AddType application/vnd.ms-fontobject .eot
AddType font/ttf .ttf
AddType font/otf .otf
AddType application/x-font-woff .woff
<IfModule mod_headers.c>
	<FilesMatch "\.(ttf|ttc|otf|eot|woff|svg)$">
		Header add Access-Control-Allow-Origin "*"
	</FilesMatch>
</IfModule>

#If rewrite mod isn't enabled
ErrorDocument 404 /index.php?controller=404

# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...
  #9 (permalink)  
Antiguo 26/05/2015, 08:10
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Redirección WWW

Desactiva la cache.

Comenta esto:
Código Apache:
Ver original
  1. #RewriteRule . - [E=REWRITEBASE:/]
  2. #RewriteRule ^api$ api/ [L]
  3.  
  4. #RewriteRule ^api/(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

Y pones esto:
Código Apache:
Ver original
  1. RewriteRule ^api/?(.*)$ /webservice/dispatcher.php?url=$1 [QSA,L]

Nos dices el resultado.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-

Última edición por lauser; 26/05/2015 a las 08:19
  #10 (permalink)  
Antiguo 26/05/2015, 13:14
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Respuesta: Redirección WWW

Buenas tardes:

Gracias por responder, he desactivado la caché de prestashop, he limpiado la caché de mi navegador y he hecho la modificación del htaccess que me comentas pero sigue dando error de bucle de redireccionamiento.

De hecho cuando abro el enlace en mi navegador me abre "miweb.com" y cuando le doy a "Actualizar" me abre "www.miweb.com" y así sucesivamente.

Es casi seguro que en algún lado me redirecciona al dominio sin las "www", por ello cuando añado al htaccess para que redireccione al dominio con "www" entra en el bucle. Estoy buscándolo por todos lados, pero no lo veo.

Lo único que no he revisado de manera certera es el .htaccess que he pegado en el anterior post pero es básicamente porque sobrepasa mis conocimientos, así que no sé si se me está pasando algo allí. Y la base de datos, hasta donde yo sé hay una tabla donde se encuentra el dominio, quizá esté sin las "www" y por ello redirecciona, pero no se qué tabla es.

Muchísimas gracias por las respuestas Lauser, me da la sensación que estamos apuntito, solo hay que encontrar dónde redirecciona al dominio sin las "www" (algo que viene con la tienda porque no lo he puesto yo).

A ver si pudieras darme alguna idea. Un abrazo.
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...
  #11 (permalink)  
Antiguo 27/05/2015, 01:46
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Redirección WWW

He realizado una instalación limpia en un server con cpanel. He activado www en panel de control. He activado las url amigables en presta. Funciona perfectamente..... el htaccess que me genero lo he comparado con el tuyo y son idénticos. Así que parece que algo haces mal en cpanel.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #12 (permalink)  
Antiguo 27/05/2015, 02:51
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Respuesta: Redirección WWW

Muchas gracias por todo el esfuerzo y el tiempo.

He revisado el Plesk y solo veo una opción que haga referencia al "www" estaba seleccionado como dominio preferido "ninguno", cuando selecciono "con www" me vuelve a dar error de redireccionamiento.



He seleccionado con "www" tanto en el plesk como en el SEO/URL de prestashop, y seguimos con las mismas.

¿No hay alguna forma de deshabilitar todos los redireccionamiento www para poder ponerlo solo en un lado?, es evidente que hay algún sitio en el cual se está haciendo la redirección al dominio sin la "www" que no encuentro y es lo que me está mosqueando.
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...
  #13 (permalink)  
Antiguo 27/05/2015, 03:57
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Redirección WWW

El dominio está en blanco, quiero pensar que lo has ocultado tu.
Revisa en herramientas y configuración -- Configuración general -- Configuración del servidor.

__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #14 (permalink)  
Antiguo 27/05/2015, 06:42
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Respuesta: Redirección WWW

He seleccionado la opción que me has indicado y nada, sigue dando el problema del bucle de redirección.

También he hecho de nuevo lo siguiente:

1. Seleccionar en SEO/URL's el dominio con www
2. Eliminar el htaccess
3. Generar nuevo htaccess

Tela marinera, una tontería así lo que lleva.
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...
  #15 (permalink)  
Antiguo 27/05/2015, 07:35
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Redirección WWW

Pregunta tonta...
Tienes activado el modulo rewrite, verdad?
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-

Etiquetas: 301, htaccess, http, ip, seo, url, www
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:36.