How to configure nested subfolder to subdomain Nginx redirects

Posted March 24, 2014 8.1k views
I'm trying to set up multiple subfolder to subdomain redirect like this:
location ~ ^/\~([^/]+)/(.*)$ {
  location ~ ^/\~ask/(.*)$ {
    rewrite ^(.*)$$1 permanent;     

  location ~ ^/\~forum/(.*)$ {
    rewrite ^(.*)$$1 permanent;     

  location ~ ^/\~qa/(.*)$ {
    rewrite ^(.*)$$1 permanent;     
The idea is that all requests to, and will be redirected to With the above code, only redirects from are working. What could be wrong with the rest and is there a better way to setting them up?

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.

Submit an Answer
3 answers
Try using the following rewrite rule instead, does that fix it?
rewrite ^/(ask|forum|qa)/(.*)$$2 permanent;
How would you modify the *location* line to match, or is that not needed with your form of the *rewrite*?
That's not needed -- you can replace all of the location blocks with the one rewrite rule I posted.