将所有 www 路由重定向到相应的非 www 路由

将所有 www 路由重定向到相应的非 www 路由

我有当前 nginx 路由的规则:

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

这只适用于根路径,不适用于其他路由。例如,像 www.domain1.com/users/1 这样的路由会被重定向到 domain1.com。如何确保 www.domain1.com/users/1 获得到 domain1.com/users/1 的路由?

我通过在末尾添加“$”来实现这个功能:

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

答案1

您那里的重写实际上应该可以工作。也就是说,您根本不需要捕获,因为 Nginx 已经为您完成了捕获。您只需使用

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

相关内容