I’m needing to redirect all example.com/blog blog posts to example.com/blog/news, eg: example.com/blog/blog-post-name to example.com/blog/news/blog-post-name, and have been trying to do this with nginx rewrite rules.

I’m not trying to redirect a specific URL, I’m trying to match all URLs at example.com/blog/{blog-slug-name-here} and redirect to example.com/blog/news/{blog-slug-name-here}. However a normal nginx rewrite would keep redirecting so you end up going example.com/blog/news/news/news/etc etc....

Hopefully this makes sense, I’d appreciate any help as I can’t seem to find this scenario on any of the online forums?

Many thanks!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

1 answer

Hello all

Just for everyone’s interest, I finally managed to get this working with:

rewrite ^/en/blog/(?!$)(?!news)(.*) /en/blog/news/$1 permanent;

Submit an Answer