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 "dominio" para que funcione en cualquier dominio?
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 "dominio" para que funcione en cualquier dominio?
Respuestas:
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 del Host no está vacío (en el caso de HTTP / 1.0); el segundo comprueba si el valor del Host no comienza con www.
; los terceros cheques para HTTPS ( %{HTTPS}
es o bien on
o off
, por lo %{HTTPS}s
es, ya sea ons
o offs
y en caso de ons
la s
adaptada). La parte de sustitución de RewriteRule
luego simplemente fusiona las partes de información en una URL completa.
RewriteEngine On
como la primera línea para completarlo, ya que esto podría conducir a un error de servidor 500 si se copia y pega como está.
Esto lo hará:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Si desea redirigir todas las solicitudes que no sean de www a su sitio a la versión 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]
Esto no funcionará con subdominios.
domain.com se redirige correctamente a www.domain.com
pero
images.domain.com se redirige a www.images.domain.com
En lugar de comprobar si el subdominio "no es www", compruebe 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]
RewriteCond %{HTTP_HOST} !^(.*)\.(.*)\.(.*)\. [NC]
(Estrictamente hablando, su TLD está quieto .uk
y su dominio lo está something.co
)
RewriteEngine On
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]
Esto redirige example.com
a www.example.com
excluir subdominios.
Esta es una pregunta anterior y hay muchas formas diferentes de hacerlo. La respuesta más completa, en mi humilde opinión, se encuentra aquí: https://gist.github.com/vielhuber/f2c6bdd1ed9024023fe4 . (Pegar y formatear el código aquí no funcionó para mí)
esto funcionó como magia para mí
RewriteCond% {HTTP_HOST} ^ sitename.com [NC] RewriteRule ^ (. *) $ Https://www.sitename.com/ $ 1 [L, R = 301, NC]
RewriteCond %{HTTP_HOST} ^yourdomain.com [NC]