Question

Redirect any and all traffic to a folder to another url

Posted December 20, 2017 4.6k views
Nginx Ubuntu

Hi,

I am on Ubuntu 14.04.5 running Nginx 1.12.1.

I have a wordpress site, I would like to do the following:

Site A: example.com
Site B: example.org

I would like to redirect any traffic to example.com/wp-content/* to example.org. This includes all subrectories and files (pdf, mp3, etc.)

If the url they are accessing is pointing to example.com/wp-content/folder1 or to example.com/wp-content/folder2/file.pdf, I want everything to be redirected to Site B.

I have tried the following, which redirects anyone accessing example.com/wp-content/ but not if they have the full url to a file:

location ^/(wp-content.) {
rewrite ^/(wp-content.
) example.org permanent;
}

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

This should do the trick:

location ~ ^/wp-content/(.*) {
    return 301 $scheme://example.org/$1;
}

This would redirect domain.com/wp-content/file1.jpg to example.org/file1.jpg If you want everything in your wp-content folder to redirect to a single location on the new server you can use this:

location ~ ^/wp-content/(.*) {
    return 301 $scheme://example.org/$1;
}

Or if this is another server that has it’s own wp-content folder you can use this:

location ~ ^/wp-content/(.*) {
    return 301 $scheme://example.org/$request_uri;
}
Submit an Answer