如何设置我的 nginx 文件来重写我的 URL?

如何设置我的 nginx 文件来重写我的 URL?

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

答案1

服务器块应该位于 http 块内。

以下链接中的 NGINX 文档中提到了这一点(请参阅其中提到的“上下文”): http://nginx.org/en/docs/http/ngx_http_core_module.html#server

相关内容