2014-03-04 121 views
2

我想將未定義的子域重定向到我的主域。 所以我有一個網站domain.com,我有2個子域名:sub1.domain.com和sub2.domain.com。 而我想要的是,當有人試圖去到sub4.domain.com,它在nginx中不匹配,並將其重定向到domian.com。這可以實現嗎?將未定義的子域重定向到nginx中的主域?

回答

-1

這將重定向任何子域請求。 對於所有現有子域,您必須添加server條目。

# this will catch all subdomains and redirect to main domain. 
server { 
    server_name *.domain.com; 
    return 301 http://domain.com$request_uri; 
} 

# this block will be used for sub1.domain.com; 
server { 
    server_name sub1.domain.com; 
    ... 
} 

# this is for sub2.domain.com; 
server { 
    server_name sub2.domain.com; 
    ... 
} 

# and so on... 

nginx不知道哪些子域存在,哪些不存在。所以你必須明確地命名所有這些。

+2

這不完全是我想要的。我想重定向尚不存在的子域。所以sub1.domain.com存在sub2.domain.com存在,但sub3.domain.com尚不存在或sub4.domain.com,我想要的是,這些2,sub3和sub4,被重定向到domain.com。那可能嗎? – Xenonbart

+0

「不存在的子域」對你來說意味着什麼?如果沒有「sub4.domain.com」的DNS記錄,則無法添加重定向,因此我假設您有DNS爲該域提供一些IP。 –

+1

我有一個DNS記錄sub4.domain.com,我希望它重定向到domain.com。對我而言,不存在的意思是它在nginx中的任何地方都沒有定義。 – Xenonbart