redirectmatch redireccionar pagina htaccess enmascarar ejemplo dominio carpeta php apache .htaccess mod-rewrite redirect

php - redireccionar - ¿Cómo usar.htaccess para redirigir no www a www?(Dos preguntas más...)



redireccionar php (4)

Resumen

Compré un dominio (Supongamos (www.) Mydomain.com). Y tengo 3 esperanzas: en primer lugar, cuando el usuario ingresa mydomain.com en la barra de direcciones, puede redireccionar a www.midominio.com (agregue www. En frente de la dirección automáticamente). En segundo lugar, debido a que el dominio que compré no es compatible con SSL, así que cuando el usuario ingrese https: // en frente de la dirección, transfórmelo directamente en http: //. En tercer lugar, cuando el usuario ingrese la URL que no existe, muestre el mensaje: "La página que estaba buscando no existe" y redirija a mi página de inicio (www.mydomain.com/) después de 10 segundos.

Mi intento

He buscado en Internet, pero acabo de encontrar la solución de agregar www. enfrente de la dirección automáticamente Y a continuación es el resultado.

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

Preguntas

  1. ¿Hay algún error en el resultado que encontré arriba?
  2. ¿Hay alguna forma mejor de mejorar el resultado que encontré arriba?
  3. ¿Cómo puedo transformar https: // en http: // cuando el usuario ingresa https: // en frente de la dirección?
  4. Cuando el usuario ingresa la URL que no existe, cómo mostrar el mensaje: "La página que estaba buscando no existe" y la redirige a mi página de inicio (www.mydomain.com/) después de 10 segundos.

Para hacer cumplir tanto http:// como www. en la misma regla, puede usar este código en root .htaccess:

RewriteEngine On RewriteCond %{HTTP_HOST} !^www/. [NC,OR] RewriteCond %{HTTPS} on RewriteRule ^ http://www.example.com%{REQUEST_URI} [R=301,L,NE]

Para mostrar un mensaje personalizado para el error 404 (página no encontrada) use:

ErrorDocument 404 "<html><head><META http-equiv="refresh" content="10;URL=/><head><body><h1>The page you were looking for doesn''t exist</h1></body></html>"

en el mismo .htaccess . Este mensaje se mostrará durante 10 segundos y luego el navegador redirigirá a la página de inicio.

Asegúrese de probar esto después de borrar la caché de su navegador.


Para volver a escribir https a http use la siguiente regla

RewriteEngine On RewriteCond %{HTTPS} on RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Para agregar www usa la siguiente regla

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

Espero que esto te ayude a resolver tu problema


Redirección WWW Usa esto:

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

https to http redirect usa esto:

RewriteEngine On RewriteCond %{HTTPS} on RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Si el usuario obtiene un error de página 404 no encontrado, puede redirigirlos usando una página para eso. Tener una página en el directorio principal 404.html o 404.php y mantener el enlace para rediect allí.


no www a www:

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