2017-03-18 155 views
0

我有一個laravel應用程序,最近僞造要求所有網站續訂其letsencrypt SSL證書。Laravel Forge重定向非www到www

我更新了這個默認情況下,我的nginx配置文件不再將該網站重定向到www版本。

這是我的nginx,任何人都可以看到我錯了什麼?

# FORGE CONFIG (DOT NOT REMOVE!) 
include forge-conf/domain.co.uk/before/*; 

server { 
    listen 443 ssl http2; 
    listen [::]:443 ssl http2; 
    server_name domain.co.uk; 
    root /home/forge/domain.co.uk/public; 

    # FORGE SSL (DO NOT REMOVE!) 
    ssl_certificate /etc/nginx/ssl/domain.co.uk/##/server.crt; 
    ssl_certificate_key /etc/nginx/ssl/domain.co.uk/##/server.key; 

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
    ssl_ciphers '##'; 
    ssl_prefer_server_ciphers on; 
    ssl_dhparam /etc/nginx/dhparams.pem; 

    add_header X-Frame-Options "SAMEORIGIN"; 
    add_header X-XSS-Protection "1; mode=block"; 
    add_header X-Content-Type-Options "nosniff"; 

    index index.html index.htm index.php; 

    charset utf-8; 

    # FORGE CONFIG (DOT NOT REMOVE!) 
    include forge-conf/domain.co.uk/server/*; 

    location/{ 
     try_files $uri $uri/ /index.php?$query_string; 
    } 

    location = /favicon.ico { access_log off; log_not_found off; } 
    location = /robots.txt { access_log off; log_not_found off; } 

    access_log off; 
    error_log /var/log/nginx/domain.co.uk-error.log error; 

    error_page 404 /index.php; 

    location ~ \.php$ { 
     fastcgi_split_path_info ^(.+\.php)(/.+)$; 
     fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; 
     fastcgi_index index.php; 
     include fastcgi_params; 
    } 

    location ~ /\.ht { 
     deny all; 
    } 
} 

# FORGE CONFIG (DOT NOT REMOVE!) 
include forge-conf/domain.co.uk/after/*; 

回答

0

不知道,如果你已經通過,現在解決了這個,但以防萬一和/或進一步的參考,你可以這樣做:

創建(如果不是已經存在):/etc/nginx/conf.d /redirect.conf

server { 
    server_name www.example.com; 
    return 301 $scheme://example.com$request_uri; 
} 

然後重新啓動nginx。

希望有所幫助。