我在 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