在 Ubuntu 上的 nginx 版本 1.1.19 中将子域名重定向到文件夹

在 Ubuntu 上的 nginx 版本 1.1.19 中将子域名重定向到文件夹

我继承了一台 Web 服务器,并尝试设置子域。我们在同一台服务器上还有其他子域,它们运行良好,但当我将完全相同的信息放入配置文件中时,它不起作用。它所做的只是将我重定向到 www。

我抄袭的配置如下:

server {
    server_name sub1.example.com;
    root /mnt/webfiles/Web/sub1;

    index index.html index.htm index.php;

    access_log /var/log/nginx/sub1.access.log;
    error_log /var/log/nginx/sub1.error.log;
    include /etc/nginx/custom/common.conf;
    include /etc/nginx/custom/vhost-php.conf;
}

效果很好。用户前往http://sub1.example.com他们可以看到 /mnt/webfiles/Web/sub1 中的所有文件。

我设置了一个新的子域名,用户立即被跳转到 www.example.com

server {
    server_name sub2.example.com;

    root /mnt/webfiles/Web/sub2;

    index index.html index.htm index.php;
    access_log /var/log/nginx/sub2.access.log;
    error_log /var/log/nginx/sub2.error.log;
    include /etc/nginx/custom/common.conf;
    include /etc/nginx/custom/vhost-php.conf;
}

我真的不关心用户是否被重定向到 www.example.com/sub2 或者他们的浏览器是否仍然显示 sub2.domain.com。只要有效就行。

我在其他地方找到了这个,但是它不起作用(仍然将我跳转到 www):

server {
  server_name sub2.example.com;
  return 301 "http://example.com/sub2${uri}";
}

/sub2 文件夹存在,并且其中有一个 index.php 页面。我遗漏了什么?

谢谢,

杰夫

答案1

您很可能在/etc/sites-available目录中创建了新配置文件,但没有创建指向/etc/sites-enabled目录的符号链接。因此,nginx 不会加载该配置文件,而是使用默认虚拟主机进行重定向。

相关内容