我的網址是這樣的:Nginx的URL重寫規則
http://example.com/site1
http://example.com/site2
... ...
http://example.com/siten
是的,有網站的列表。
但實際上我想通過(以site1
例如)來訪問子網站:
http://site1.example.com
我在nginx.conf
已經做的是:
if ($host = site1\.example\.com){
rewrite ^/(.*) /example.com/site1/$1 break;
}
呀,在本地機器上測試,我已編輯/etc/hosts
:
127.0.0.1 example.com
但不行。誰能解釋?
你讓我錯了:不是'127.0.0.1 example.com',而是'127.0.0.1 subdomain.example.com',並確保'... 0.1子域...'之間的空格是標籤空間或幾個空白字符。最好的辦法是複製hosts文件中已有的條目,然後再編輯任何東西,並用127.0.0.1 subdomain.example.com替換現有的條目。歡呼 – 2013-04-28 12:22:58
我已經在我的同事的幫助下解決了這個問題。它應該是: 添加'proxy_set_header HOST $ host;'和'if($ host = site1.example.com){ 重寫^ /(。*)/ site1/$ 1 break; }'。當然,我應該在'/ etc/hosts'中添加'127.0.0.1 site1.example.com'。 – holys 2013-04-28 16:36:04