Назад | Перейти на главную страницу

Перенаправление всех маршрутов 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 доллар навсегда;

Перезапись, которая у вас есть, действительно должна работать. Тем не менее, вам вообще не нужен захват, поскольку Nginx уже сделал это за вас. Вы можете просто использовать

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