Laravel应用通配符Digitalocean nginx



我已经在Digitalocean (nginx)上设置了一个Laravel应用程序。

当我访问site.com时它可以正常工作,但当我访问www.site.com时它无法加载

我的问题是我应该如何设置DNS记录在Digitalocean,我应该如何设置/etc/nginx/sites-available/default文件:

  1. www.site.com/path应该重定向到site.com/path。
  2. 所有的子域名都应该指向主应用程序站点。
  3. media.site.com请参考其他目录。

谢谢!

现在的文件:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    root /var/www/hzofe/public;
    index index.php index.html index.htm;
    server_name localhost;
    location / {
            try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ .php$ {
            try_files $uri /index.php =404;
            fastcgi_split_path_info ^(.+.php)(/.+)$;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
    }
}
server {
    listen 80;
    listen [::]:80 ipv6only=on;
    server_name media.site.com;
    ....
}

server {
    listen 80;
    listen [::]:80 ipv6only=on;
    server_name *.site.com;
    ....
}

您是否尝试为DNS重定向添加cname记录?

此外,如果您使用https,您可以为别名域和常规的let -encrypt创建一个证书。

这是一个nodejs教程,但它可能会有所帮助…

https://code.lengstorf.com/deploy-nodejs-ssl-digitalocean/install-nginx

最新更新