rewriterule rewritecond mod_rewrite htaccess ejemplos .htaccess mod-rewrite

.htaccess - rewritecond - rewriterule htaccess apache



.htaccess-cómo forzar "www." de una manera genérica? (7)

Esto cambiará domain.com a www.domain.com :

# Force the "www." RewriteCond %{HTTP_HOST} !^www/.domain/.com$ [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

¿Cómo reemplazo la parte de "dominio" para que funcione en cualquier dominio?


Esto lo hará:

RewriteCond %{HTTP_HOST} !^www/. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]


Esto no funcionará con los subdominios.

domain.com se redirecciona correctamente a www.dominio.com

pero

images.domain.com se redirecciona a www.images.domain.com

En lugar de verificar si el subdominio es "no www", verifique si hay dos puntos:

RewriteCond %{HTTP_HOST} ^(.*)$ [NC] RewriteCond %{HTTP_HOST} !^(.*)/.(.*)/. [NC] RewriteCond %{HTTPS}s ^on(s)| RewriteRule ^ HTTP%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


Lo siguiente debe añadir ''www'' a cualquier solicitud que no tenga uno, y redirigir la solicitud editada al nuevo URI.

RewriteCond "%{HTTP_HOST}" "!^www/." [NC] RewriteCond "%{HTTP_HOST}" "(.*)" RewriteRule "(.*)" "http://www.%1$1" [R=301,L]


Si desea redirigir todas las solicitudes que no son de www a su sitio a la versión de www, todo lo que necesita hacer es agregar el siguiente código a su archivo .htaccess:

RewriteEngine On RewriteCond %{HTTP_HOST} !^www/. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]


Yo usaría esta regla:

RewriteEngine On RewriteCond %{HTTP_HOST} !="" RewriteCond %{HTTP_HOST} !^www/. [NC] RewriteCond %{HTTPS}s ^on(s)| RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

La primera condición comprueba si el valor de Host no está vacío (en el caso de HTTP / 1.0); el segundo verifica si el valor del Host no comienza con www. ; el tercero comprueba que HTTPS ( %{HTTPS} está off o off , por lo que %{HTTPS}s está off o off y en el caso de ons la s coincide). La parte de sustitución de RewriteRule simplemente fusiona las partes de información con una URL completa.

EDITAR: no funciona con URL como: https://yourdomain.com/en/usa


esto funcionó como magia para mí

RewriteCond% {HTTP_HOST} ^ sitename.com [NC] RewriteRule ^ (. *) $ https://www.sitename.com/ $ 1 [L, R = 301, NC]


RewriteEngine On RewriteCond %{HTTP_HOST} ^[^.]+/.[^.]+$ RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]

Esto redirige example.com a www.example.com excluyendo subdominios.