回答
if ($host ~* www\.(.*)) {
set $host_without_www $1;
rewrite ^(.*)$ http://$host_without_www$1 permanent; # $1 contains '/foo', not 'www.mydomain.com/foo'
}
答: https://serverfault.com/questions/139579/nginx-subdomain-rewrite
不推薦使用這種方法現在。參見[關於常見陷阱的這一部分](http://wiki.nginx.org/Pitfalls#Using_If)。 – 2013-01-12 21:30:59
推薦的方法是什麼? – Tony 2013-01-15 14:00:57
server {
listen 80;
listen 443;
server_name ~^www\.(\w+)\.domain\.com$;
location/{
rewrite^$scheme://$1.domain.com$request_uri? permanent;
}
}
請注意,這會產生一個雙查詢字符串,對'/?foo = bar'的請求將重定向到'/?foo = bar?foo = bar'。使用'$ uri'似乎按預期工作,但可能有更好的選擇。 – sapht 2012-08-11 18:37:32
添加? $ request_uri之後將避免重複查詢字符串問題。 – tarkeshwar 2012-09-01 20:00:32
server_name後面缺少分號 – alvin 2013-05-23 01:03:18
- 1. nginx的子域重寫
- 2. 重寫 「位置」 爲子域的Nginx
- 3. 複雜nginx的重寫規則子域
- 4. 重寫一個子域蒙山nginx的
- 5. nginx通配符子域ssl重寫
- 6. nginx將所有子域重寫爲www
- 7. 用nginx和htaccess重寫Wordpress子域名
- 8. 如何使用nginx重寫子域?
- 9. Nginx重寫規則取決於子域
- 10. nginx的域名重寫
- 11. Nginx重寫通配符域
- 12. Nginx的重寫子域網址頂級域
- 13. nginx的子域和域重寫W¯¯代理通過
- 14. nginx的重寫URL子
- 15. Nginx重定向www.X.domain.com子域
- 16. 重寫子域
- 17. Nginx重寫子文件夾
- 18. Magento Nginx子頁面重寫
- 19. 將子域重寫爲域
- 20. 將位置重寫爲nginx中的子域
- 21. Nginx的:NONWWW(80)和重寫一個子域(443)
- 22. 請幫我理解子域robots.txt的簡單nginx重寫問題
- 23. 將nginx中的子域url重寫爲後端服務器
- 24. 重寫CNAME子域
- 25. URL重寫子域
- 26. htaccess重寫:子域?
- 27. Nginx重寫(小寫和子串)
- 28. Nginx重寫url域名參數
- 29. 子域和nginx的
- 30. 將子文件夾重寫爲子域而不用nginx重定向
類似的問題:http://stackoverflow.com/questions/2498712/nginx-subdomain-rewrite – 2010-05-13 07:32:18