我在Ubuntu 14.04上使用nginx(1.4.6-1ubuntu3.4)。 当有人访问一个页面,例如http://mymaindomain.com/page1 ,我想重写它包含www子域。 所以如果有人访问了以前的URL,重写的URL将是http://www.mymaindomain.com/page1 。 所以我添加了一个“服务器”指令:
user www-data; worker_processes 4; pid /run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { … } server { server_name mymaindomain.com; rewrite ^ http://www.mymaindomain.com$request_uri permanent; }
到我的/etc/nginx/nginx.conf文件的末尾。 但重新启动我的服务器后,我得到的错误:
2016/11/04 22:12:33 [emerg] 1063#0: "server" directive is not allowed here in /etc/nginx/nginx.conf:75
什么是正确的方法来设置我的nginx服务器来正确地重写我的url?
服务器块应该在http块内。
这在NGINX文档中的链接中提到(请参阅“上下文”的说明): http : //nginx.org/en/docs/http/ngx_http_core_module.html#server