Nginx非www在Ubuntu 16.04中无法正常工作和重定向

时间:2016-12-31 11:33:48

标签: ubuntu nginx

我的服务器在DO中运行在Ubuntu 16.04中。 我的问题是,当我尝试在没有 www 的情况下运行时,我的网站不会加载。

我从这里开始学习。 https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04

我的目标是

  1. 将所有非www重定向到https://example.com
  2. 将所有www重定向到https://www.example.com
  3. 的nginx /位点可用/ nginx_config

    server {
        listen 80;
        server_name example.com;
        return 301 https://example.com$request_uri;
    }
    

    到目前为止我尝试过:

    删除第一个和第二个服务器块中的 http 。 (在第二个服务器块中相同)

     lipo -info YourLibrary.a
    

2 个答案:

答案 0 :(得分:2)

实现目标
 1.将所有非www重定向到https://example.com  2.将所有www重定向到https://www.example.com 这可以通过

来完成
server_name www.example.com example.com;

您可以使用完整配置,如下所示

server {
  listen 80;
  server_name www.example.com example.com;
  access_log off;
  index index.html index.htm index.php;
  listen 443 ssl http2 default_server;
  listen [::]:443 ssl http2 default_server;
  include snippets/ssl-example.com.conf;
  include snippets/ssl-params.conf;
  root /home/tim/site.folder;

location ~ [^/]\.php(/|$) {
 #fastcgi_pass remote_php_ip:9000;
 fastcgi_pass unix:/dev/shm/php-cgi.sock;
 fastcgi_index index.php;
 include fastcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
 expires 30d;
 access_log off;
}
location ~ .*\.(js|css)?$ {
 expires 7d;
 access_log off;
}
}

答案 1 :(得分:0)

不要把http

join()