1. Este sitio usa cookies. Para continuar usando este sitio, se debe aceptar nuestro uso de cookies. Más información.
  2. ¡Bienvenido a XenFácil!

    Estás viendo el sitio como Invitado. Para poder participar en este sitio

    y obtendrás privilegios adicionales, acceso a otras áreas y mucho mas.

    ¡Es gratis!


    ¿Ya eres miembro? Inicia sesión
Descartar aviso
Become a vip user! / ¡Házte usuario VIP!
Download free all our add-ons
descarga gratis todos nuestros complementos
Look into XenForo's Manual in spanish
ver gratis el Manual de XenForo en español
Upgrade to user VIP and download free all our add-ons, look into XenForo's Manual in spanish, see all tutorials entirely, and much more....
Actualiza a usuario VIP y descarga gratis todos nuestros complementos, podrás ver gratis el Manual de XenForo en español, ver completamente todos los tutoriales y mucho más....

Become a vip user! / ¡Házte usuario VIP!

.htaccess Redireccionar con tres líneas de xxxxxx.com a (www.)dominio.com

Tema en 'Recursos Externos' iniciado por lms, 18 Nov 2010.

  1. lms

    lms Administrador

    Registrado:
    6 Oct 2010
    Mensajes:
    7.316
    Me Gusta recibidos:
    2.055
    Puntos:
    2.613
    Género:
    Masculino
    País:
    España
    Versión de XenForo:
    1.5.14
    PayPal:
    Donar dinero a este usuario
    Página web:
    Web
    Crear una redirección a 301 forzando a todas peticiones http a usar bien www.domain.com o domain.com:

    Ejemplo 1 - Redireccionar domain.com a www.domain.com:

    Insertar CODE, HTML o PHP:
    RewriteEngine On
     RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
     RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
    Ejemplo 2 - Redireccionar www.domain.com a domain.com:

    Insertar CODE, HTML o PHP:
    RewriteEngine On
     RewriteCond %{HTTP_HOST} !^domain.com$ [NC]
     RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]
    Explicación de esta redirección 301 por .htaccess:

    En el ejemplo 1 - Se redirecciona domain.com a www.domain.com. La primera línea llama a apache a iniciar el módulo rewrite. La siguiente línea:
    RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
    indica que la siguiente regla sólo funciona cuando la llamada al host (o urls que apunten a ese host) NO es (- indicado con "!") www.domain.com.
    El $ significa el fin para el host del dominio www.domain.com y el resultado es que todas las páginas de www.domain.com seguirán la siguiente regla de reescritura. Combinado con el inversor "!" el resultado es que cada host que no sea www.domain.com se redireccionará a ese dominio.

    La etiqueta [NC] indica que el host no distingue mayúsculas de minúsculas. Se "escapa" el "." porque es un carácter especial (normalmente, el punto (.) es un carácter sin especificar).

    La línea final describe la acción que se va a ejecutar:
    RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
    El ^(.*)$ es un pequeño truco mágico. ¿Puedes recordar el significado del punto? Representa a cualquier carácter (pero sólo a uno). Así, .* significa que puede ser cualquier conjunto de caracteres, no sólo uno. Por ello ^(.*)$ contiene la url solicitada, sin el dominio.

    La parte http://www.domain.com/$1 describe el objetivo de la regla de reescritura. Este es el nombre final que se usa para nuestro dominio, donde $1 contiene el contenido de (.*).

    La siguiente parte también es importante, ya que genera la redirección 301 de forma automática: [L,R=301]. L significa que es la última regla a ejecutar. Tras esta reescritura el servidor devuelve un resultado. R=301 significa que el servidor devuelva permanentemente un movimiento 301 a la solicitud del navegador o de los motores de búsqueda.

    En resumen: Con tres líneas henos redireccionado todo lo que no se llame como queremos que se nombre a nuestro dominio a nuestro dominio.

    Salud2
     
    A 2 personas les gusta esto.
  2. DefaceCoder

    DefaceCoder Nuevo

    Registrado:
    6 Ene 2011
    Mensajes:
    1
    Me Gusta recibidos:
    2
    Puntos:
    3
    Género:
    Masculino
    Ubicación:
    Perú
    Antes de activar, hay q tener en cuenta si tu foro está en una ruta diferente, debe incluir la ruta de acceso
    a la carpeta raíz del foro (es decir, RewriteBase /foros/)
     
    A 2 personas les gusta esto.
  3. lms

    lms Administrador

    Registrado:
    6 Oct 2010
    Mensajes:
    7.316
    Me Gusta recibidos:
    2.055
    Puntos:
    2.613
    Género:
    Masculino
    País:
    España
    Versión de XenForo:
    1.5.14
    PayPal:
    Donar dinero a este usuario
    Página web:
    Web
    Esto es una redirección 301 a nivel de la raíz del dominio. Efectivamente, si quieres redireccionar a una carpeta (esté tu foro o no en ella) puedes hacerlo a través del RewriteBase /carpeta/ o cambiar RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301] por RewriteRule ^(.*)$ http://www.domain.com/carpeta/$1 [L,R=301]

    Salud2
     
    A 2 personas les gusta esto.
  4. Meneco

    Meneco Nuevo

    Registrado:
    1 Nov 2010
    Mensajes:
    9
    Me Gusta recibidos:
    9
    Puntos:
    3
    Género:
    Masculino
    Ubicación:
    Costa Rica
    Yo cambiaría las reglas anteriores por:

    Insertar CODE, HTML o PHP:
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www\.dominio\.com
    RewriteRule (.*) http://www.dominio.com/$1 [L,R=301]
    Insertar CODE, HTML o PHP:
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^dominio\.com
    RewriteRule (.*) http://dominio.com/$1 [L,R=301]
     
    A 2 personas les gusta esto.
  5. lms

    lms Administrador

    Registrado:
    6 Oct 2010
    Mensajes:
    7.316
    Me Gusta recibidos:
    2.055
    Puntos:
    2.613
    Género:
    Masculino
    País:
    España
    Versión de XenForo:
    1.5.14
    PayPal:
    Donar dinero a este usuario
    Página web:
    Web
    Eso cambia de www.dominio a dominio. Al final es lo mismo y va en gustos.

    Salud2
     
    A 2 personas les gusta esto.
  6. Meneco

    Meneco Nuevo

    Registrado:
    1 Nov 2010
    Mensajes:
    9
    Me Gusta recibidos:
    9
    Puntos:
    3
    Género:
    Masculino
    Ubicación:
    Costa Rica
    Si te fijas, las dos reglas son distintas.

    La diferencia entre lo que publicaste tú y lo que publiqué yo es que las normas que facilitaste implica el uso de más recursos, debido a que la expresión regular contiene información adicional innecesaria.
     
    A 2 personas les gusta esto.
  7. Tize

    Tize XenForoUser

    Registrado:
    27 Abr 2011
    Mensajes:
    356
    Me Gusta recibidos:
    54
    Puntos:
    28
    Género:
    Masculino
    Ubicación:
    Paradise
    País:
    España
    Página web:
    Web
    Hola a todos chicos, os adjunto mi código ya que no se especifica bien claro que líneas modificar para tenerlo correctamente configurado.
    Mi web en cuestión tiene el foro en httpdocs directamente.
    Si alguien me podría editar mi código para saber donde añadir dicha configuración sería genial.
    Gracias y saludos.

    PHP:
    #    Mod_security can interfere with uploading of content such as attachments. If you
    #    cannot attach files, remove the "#" from the lines below.
    #<IfModule mod_security.c>
    #    SecFilterEngine Off
    #    SecFilterScanPOST Off
    #</IfModule>

    ErrorDocument 401 default
    ErrorDocument 403 default
    ErrorDocument 404 default
    ErrorDocument 500 default

    <
    IfModule mod_rewrite.c>
        
    RewriteEngine On

        
    #    If you are having problems with the rewrite rules, remove the "#" from the
        #    line that begins "RewriteBase" below. You will also have to change the path
        #    of the rewrite to reflect the path to your XenForo installation.
        #RewriteBase /xenforo

        
    RewriteCond %{REQUEST_FILENAME} -[OR]
        
    RewriteCond %{REQUEST_FILENAME} -[OR]
        
    RewriteCond %{REQUEST_FILENAME} -d
        RewriteRule 
    ^.*$ - [NC,L]
        
    RewriteRule ^(data|js|styles|install) - [NC,L]
        
    RewriteRule ^.*$ index.php [NC,L]
    </
    IfModule>
     
  8. lms

    lms Administrador

    Registrado:
    6 Oct 2010
    Mensajes:
    7.316
    Me Gusta recibidos:
    2.055
    Puntos:
    2.613
    Género:
    Masculino
    País:
    España
    Versión de XenForo:
    1.5.14
    PayPal:
    Donar dinero a este usuario
    Página web:
    Web
    Añade al final las líneas
    PHP:
    RewriteEngine On
    RewriteCond 
    %{HTTP_HOST} !^www\.dominio\.com
    RewriteRule 
    (.*) http://www.dominio.com/$1 [L,R=301]
    Cambiando dominio por la dirección de tu web (y el com si es net, org,....)

    Salud2
     
    A 2 personas les gusta esto.
  9. Tize

    Tize XenForoUser

    Registrado:
    27 Abr 2011
    Mensajes:
    356
    Me Gusta recibidos:
    54
    Puntos:
    28
    Género:
    Masculino
    Ubicación:
    Paradise
    País:
    España
    Página web:
    Web
    Gracias master por la aclaración cambiando y subiendo al Ftp.
    Saludos :) :rolleyes:
     
  10. lms

    lms Administrador

    Registrado:
    6 Oct 2010
    Mensajes:
    7.316
    Me Gusta recibidos:
    2.055
    Puntos:
    2.613
    Género:
    Masculino
    País:
    España
    Versión de XenForo:
    1.5.14
    PayPal:
    Donar dinero a este usuario
    Página web:
    Web
    Acabo de cambiar en XenFacil el PHP del servidor a la última versión estable (5.4.11) y he descubierto algunos errores, entre ellos uno de .htaccess.

    Toda la configuración anterior se va la carajo y redirecciona a http://www.xenfacil.com/$1 que da un error de que no está definida la ruta.

    Lo he solucionado cambiando en el .htaccess lo de arriba por:
    Insertar CODE, HTML o PHP:
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^tuDominio\.com [NC]
    RewriteRule ^(.*)$ http://www.tuDominio.com/$1 [L,R=301] 
    Cambia tuDominio por tu dominio real.

    Para direccionar de www a dominio sin ellas, usad:
    Insertar CODE, HTML o PHP:
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www\.tuDominio\.com [NC]
    RewriteRule ^(.*)$ http://tuDominio.com/$1 [L,R=301] 
    Cambia tuDominio por tu dominio real.

    Fijaros qué cambian cosas respecto a lo del primer mensaje:
    Insertar CODE, HTML o PHP:
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
    RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
    Salud2
     
    Última edición: 30 Mar 2015
    A 2 personas les gusta esto.
  11. Tize

    Tize XenForoUser

    Registrado:
    27 Abr 2011
    Mensajes:
    356
    Me Gusta recibidos:
    54
    Puntos:
    28
    Género:
    Masculino
    Ubicación:
    Paradise
    País:
    España
    Página web:
    Web
    Yo debo decir, que este asunto es algo muy útil en mis webs ya que todo funciona sin las www y ahora por desgracia todavía siguen con ellas ya que muchos usuarios la usan sin como todo el staff y conocidos pero mayormente el 80% las usan con las www
    A pesar de que no me funciona el code más arriba añadido, esta noche pondré a prueba el nuevo httacces añadido por Lms para ver si funciona o no.
    Las otras veces que lo probaba saltaba error directamente y no había manera, mantendré informado al respecto.
    Gracias Lms por este nuevo dato.

    Pd. Mi servidor funciona en linux
     
  12. lms

    lms Administrador

    Registrado:
    6 Oct 2010
    Mensajes:
    7.316
    Me Gusta recibidos:
    2.055
    Puntos:
    2.613
    Género:
    Masculino
    País:
    España
    Versión de XenForo:
    1.5.14
    PayPal:
    Donar dinero a este usuario
    Página web:
    Web
    También el mío. Aquí me está funcionando de lujo.

    Salud2
     
    A 2 personas les gusta esto.
  13. Tize

    Tize XenForoUser

    Registrado:
    27 Abr 2011
    Mensajes:
    356
    Me Gusta recibidos:
    54
    Puntos:
    28
    Género:
    Masculino
    Ubicación:
    Paradise
    País:
    España
    Página web:
    Web
    Voy a probarlo esta noche, ya que ahora hay mucha gente conectada y veré que sucede.
    La verdad es que funcionar sin ellas para mi es lo mejor.
    Aquí por lo que puedo apreciar por más que las quite las www siempre se ponen :)
     
  14. lms

    lms Administrador

    Registrado:
    6 Oct 2010
    Mensajes:
    7.316
    Me Gusta recibidos:
    2.055
    Puntos:
    2.613
    Género:
    Masculino
    País:
    España
    Versión de XenForo:
    1.5.14
    PayPal:
    Donar dinero a este usuario
    Página web:
    Web
  15. Tize

    Tize XenForoUser

    Registrado:
    27 Abr 2011
    Mensajes:
    356
    Me Gusta recibidos:
    54
    Puntos:
    28
    Género:
    Masculino
    Ubicación:
    Paradise
    País:
    España
    Página web:
    Web
    Envía siempre a las webs con las WWW.
    Que guapo, lo tienes como es debido tener a tu gusto! :)
    Por cierto, ahora de repente estuve más de dos minutos que no podía acceder a ninguna de ellas, como que reiniciaste el servidor o algo raro.
    Saludos.
     
  16. Tize

    Tize XenForoUser

    Registrado:
    27 Abr 2011
    Mensajes:
    356
    Me Gusta recibidos:
    54
    Puntos:
    28
    Género:
    Masculino
    Ubicación:
    Paradise
    País:
    España
    Página web:
    Web
    Buenas noches, acabo de realizar las pruebas y ahora parece que no da ningún tipo de error.
    Pero sucede que no funciona, no sucede nada.
    Me percaté también de tu mensaje de que habías actualizado el servidor y recordando que yo cuando había probado la primera opción me daba error directamente la web por tanto era problema de la versión de php que tenía una más actualizada.
    Ahora que tenemos la misma no sucede nada es como si no hubiese cambiado nada.

    Adjunto mi htt por si encuentras que puede ser por favor, no se si estará creando conflicto con lo que tengo para que no roben imágenes o que puede ser.
    Gracias y saludos.

    PHP:
    #    Mod_security can interfere with uploading of content such as attachments. If you
    #    cannot attach files, remove the "#" from the lines below.
    #<IfModule mod_security.c>
    #    SecFilterEngine Off
    #    SecFilterScanPOST Off
    #</IfModule>
     
    ErrorDocument 401 default
    ErrorDocument 403 default
    ErrorDocument 404 default
    ErrorDocument 500 default
     
    <
    IfModule mod_rewrite.c>
        
    RewriteEngine On
     
        
    #    If you are having problems with the rewrite rules, remove the "#" from the
        #    line that begins "RewriteBase" below. You will also have to change the path
        #    of the rewrite to reflect the path to your XenForo installation.
        #RewriteBase /xenforo
     
        #    This line may be needed to enable WebDAV editing with PHP as a CGI.
        #RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
     
        
    RewriteCond %{REQUEST_FILENAME} -[OR]
        
    RewriteCond %{REQUEST_FILENAME} -[OR]
        
    RewriteCond %{REQUEST_FILENAME} -d
        RewriteRule 
    ^.*$ - [NC,L]
        
    RewriteRule ^(data/|js/|styles/|install/|favicon\.ico|crossdomain\.xml|robots\.txt) - [NC,L]
        
    RewriteRule ^.*$ index.php [NC,L]
       
    </
    IfModule>
     
       
        
    Options +FollowSymlinks
        
    #Protect against hotlinking
        
    RewriteEngine On
        RewriteCond 
    %{HTTP_REFERER} !^$
        
    RewriteCond %{HTTP_REFERER} !^http://(www.)?MIWEB.com/ [nc]
        
    RewriteRule .*.(gif|jpg|png|jpeg)$ http://MIWEB.com/norobarimagenes.jpg[nc]
    Lo que utilicé y puse al final de mi htaccess es:

    Insertar CODE, HTML o PHP:
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www\.MIWEB\.com [NC]
    RewriteRule ^(.*)$ http://MIWEB.com/$1 [L,R=301]
     
    
    Quedando como resultado:

    PHP:
    #    Mod_security can interfere with uploading of content such as attachments. If you
    #    cannot attach files, remove the "#" from the lines below.
    #<IfModule mod_security.c>
    #    SecFilterEngine Off
    #    SecFilterScanPOST Off
    #</IfModule>
     
    ErrorDocument 401 default
    ErrorDocument 403 default
    ErrorDocument 404 default
    ErrorDocument 500 default
     
    <
    IfModule mod_rewrite.c>
        
    RewriteEngine On
     
        
    #    If you are having problems with the rewrite rules, remove the "#" from the
        #    line that begins "RewriteBase" below. You will also have to change the path
        #    of the rewrite to reflect the path to your XenForo installation.
        #RewriteBase /xenforo
     
        #    This line may be needed to enable WebDAV editing with PHP as a CGI.
        #RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
     
        
    RewriteCond %{REQUEST_FILENAME} -[OR]
        
    RewriteCond %{REQUEST_FILENAME} -[OR]
        
    RewriteCond %{REQUEST_FILENAME} -d
        RewriteRule 
    ^.*$ - [NC,L]
        
    RewriteRule ^(data/|js/|styles/|install/|favicon\.ico|crossdomain\.xml|robots\.txt) - [NC,L]
        
    RewriteRule ^.*$ index.php [NC,L]
       
    </
    IfModule>
     
       
        
    Options +FollowSymlinks
        
    #Protect against hotlinking
        
    RewriteEngine On
        RewriteCond 
    %{HTTP_REFERER} !^$
        
    RewriteCond %{HTTP_REFERER} !^http://(www.)?MIWEB.com/ [nc]
        
    RewriteRule .*.(gif|jpg|png|jpeg)$ http://MIWEB.com/norobarimagenes.jpg[nc]
     
    RewriteEngine On
    RewriteCond 
    %{HTTP_HOST} ^www\.MIWEB\.com [NC]
    RewriteRule ^(.*)$ http://MIWEB.com/$1 [L,R=301]
     
     
  17. lms

    lms Administrador

    Registrado:
    6 Oct 2010
    Mensajes:
    7.316
    Me Gusta recibidos:
    2.055
    Puntos:
    2.613
    Género:
    Masculino
    País:
    España
    Versión de XenForo:
    1.5.14
    PayPal:
    Donar dinero a este usuario
    Página web:
    Web
    ¿Qué versión de php usas?

    Salud2
     
    A 2 personas les gusta esto.
  18. Tize

    Tize XenForoUser

    Registrado:
    27 Abr 2011
    Mensajes:
    356
    Me Gusta recibidos:
    54
    Puntos:
    28
    Género:
    Masculino
    Ubicación:
    Paradise
    País:
    España
    Página web:
    Web
    Hola, mi versión es la siguiente.

    sa.
     

Compartir esta página

Este sitio usa cookies, propias y de terceros.
Si se continúa con nosotros entendemos que se acepta el uso de cookies.