Мне нужно добавить www для не-www перенаправления на конфигурацию nginx. Вот часть из конфигурационного файла (кажется, что вся конфигурация слишком долго переполнение стека):Nginx www to non-www redirect
user nginx;
worker_processes 1;
error_log /var/deploy/mydomain/web_head/shared/log/nginx_error.log;
events
{
worker_connections 1024;
}
http
{
gzip on;
...
server {
server_name www.mydomain.com;
return 301 $scheme://mydomain.com$request_uri;
}
server
{
listen 80 default_server;
server_name _;
rails_env production;
passenger_enabled on;
root /var/deploy/mydomain/web_head/current/public;
client_max_body_size 50m;
# redirect to 503 if maintenance page present
if (-f $document_root/cloud66_maintenance.html)
{
return 503;
}
# redirect on errors
error_page 500 502 504 /50x.html;
error_page 503 @maintenance;
# handle error redirect
location = /50x.html
{
root html;
}
location @maintenance
{
error_page 405 = /cloud66_maintenance.html;
if (-f $document_root/cloud66_maintenance.html)
{
rewrite ^(.*)$ /cloud66_maintenance.html break;
}
rewrite ^(.*)$ /503.html break;
}
try_files $uri /cloud66_maintenance.html @passenger;
location @passenger
{
passenger_enabled on;
passenger_min_instances 5;
passenger_set_cgi_param HTTP_X_FORWARDED_PROTO $scheme;
}
location ~ \.php$
{
deny all;
}
}
}
Это не сработало. Я даже попытался добавить следующий блок до конца:
server {
server_name www.mydomain.com;
return 301 $scheme://mydomain.com$request_uri;
}
А также попытался заменить server_name _;
с server_name mydomain.com.
.
Спасибо!
вы перезагрузить настройки Nginx? потому что вы сделали это правильно –
Да, он был перезагружен. хм, странно. –
Вы посещаете точный 'www.mydomain.com'? также ps: вам не нужно 'server_name _;', если вы хотите совместить все, вы можете полностью удалить его –