I'm trying redirect from an exact folder in nginx.conf
Given the URL: domain.com/path1/path2/path3
Redirect to: sub.domain.com/path1/path2/path3
Here's what I have so far:
location ~* ^/path1[\/?]$ {
rewrite ^/(.*) http:sub.domain.com/$1 break;
}
I had it working with
location /path1 {
rewrite ^/(.*) http:sub.domain.com/$1 break;
}
The problem with that is it also redirects a page like domain.com/path1moretext/someotherpath to sub.domain.com/path1moretext/someotherpath
Which is not what I want. (had to take out the "//" in the href code above because this is my first post, sorry).
From serverfault
-
location / { rewrite ^\/path1\/(.*)$ http://sub.domain.com/$1 last; // rest of config for root }
I'm from an Apache background and I've just started using Nginx in earnest, I've struggled with the re-writes myself, but, I've used the above recently without apparent issue.
: Accomplishes the same thing, thanks. Though I changed the rewrite to: rewrite ^\/path1\/(.*)$ http://sub.domain.com/path1/$1 break; Not sure of the difference between last and break yet. Something to do with a limit of 10 options when using location? I'm just recalling other documentation from memory here. Thanks!From Andrew Taylor -
location = /path1 { rewrite ^ http://sub.domain.com$uri permanent; } location /path1/ { rewrite ^ http://sub.domain.com$uri?$args permanent; }
edit: also read this for information on last/break/permanent/redirect.
From edogawaconan
0 comments:
Post a Comment