2017-03-21 64 views
1

我在site public目錄中有文件sitemap.xml。當我使用子域'm。'時,它使用與一般站點相同的公共目錄。當我在子域'm。'上時,我需要從url'/sitemap.xml'返回'/mobile-sitemap.xml'文件。子域上的nginx子文件sitemap.xml

什麼nginx模塊和規則可以幫助我做到這一點?

我的第一個步驟是這樣的:

if ($host ~* m\.(.*)) { #if url = /sitemap.xml, give back file /mobile-sitemap.xml as /sitemap.xml }

或者,也許這是確定以谷歌,如果我只是發送301重定向到另一個站點地圖文件?

回答

1

您可以爲您的移動子域創建單獨的服務器塊,在這種情況下if聲明不是必需的。請參閱this caution關於使用if

然而,要實現這個單一服務器塊,使用locationrewrite

location = /sitemap.xml { 
    if ($host ~* m\.) { 
     rewrite^/mobile-sitemap.xml last; 
    } 
} 

更多見thisthis