将所有www路由redirect到相应的非www路由

我有我的nginx路线目前的规则:

listen 80; server_name www.domain1.com; rewrite ^/(.*) http://domain1.com/$1 permanent; 

这工作,但只为根path,而不是其他路线。 例如,像www.domain1.com/users/1这样的路线被redirect到domain1.com。 如何确保www.domain1.com/users/1获取到domain1.com/users/1的路线?

我通过在最后添加一个'$'得到了这个工作:

重写^ /(。*)$ http://your_domain.com/ $ 1永久;

你在那里重写实际上应该工作。 也就是说,Nginx已经为你做了这个工作,所以你根本不需要捕获。 你可以使用

 rewrite ^ http://domain1.com$request_uri? permanent;