我有当前 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;