
Estoy usando CentOS 7 con Nginx. Quiero convertir todos los dominios que no sean www a dominios "www", por ejemplo, si alguien ingresa "abc.example.com", me gustaría que sea redirigido a "www.example.com". Probé esto
server {
listen 80;
server_name "~^(?!www\.).*";
return 301 $scheme://www.$host$request_uri;
}
en mi archivo de configuración específico del sitio, pero lo que sucede es que si alguien ingresa "abc.example.com", se le redirige a "www.abc.example.com". ¿Cómo puedo corregir lo anterior para reemplazar en lugar de anteponer "www"?
Respuesta1
Si solo aloja example.com
un dominio y desea que todo sea redirigido a www.example.com
, debe usar un servidor predeterminado en lugar de un servidor de expresión regular.
Por ejemplo:
server {
listen 80 default_server;
return 301 $scheme://www.example.com$request_uri;
}
server {
listen 80;
server_name www.example.com;
...
}
Vereste documentopara más.