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
- ¿Hay algún error en el resultado que encontré arriba?
- ¿Hay alguna forma mejor de mejorar el resultado que encontré arriba?
- ¿Cómo puedo transformar https: // en http: // cuando el usuario ingresa https: // en frente de la dirección?
- 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]