2015-11-03 31 views
0

此設置是爲多個域共享單個CMS平臺。它將允許任何域指向我的服務器IP。Nginx捕獲所有域,然後添加www如果不存在

我可以使用nginx server_name _;抓住所有。

但如果www不存在,我想301重定向到www(追加www。infront)。如果www存在,那很好。

我該如何做到這一點?

回答

0

我已經使用nginx的以下服務器配置解決了這個。

server { 
    listen 80 default_server; 
    server_name ~^(?!www\.)(?<domain>.+)$; 
    return 301 $scheme://www.$domain$request_uri; 
} 

server { 
    listen 80; 
    server_name ~^(?<domain>.+)$; 
    root /home/wwwroot/web; 
    .. 
    .. 
} 

這將允許任何域名和301重定向到www。

0

可以趕上加www和重定向到www這個

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


server { 
    listen 80; 
    server_name www.example.com; 
    root /path/to/site; 
    # Extra conf here. 
} 
+0

這是域名「example.com」。我需要的是如何捕獲所有域,而不是在server_name指令中定義域。因爲會有很多域名。 – Syed

相關問題