proxying/redirecting after request has been rewritten
i0n
nginx-forum at nginx.us
Wed Aug 8 15:04:25 UTC 2012
Hi everyone.
I'm trying to get Nginx to run some Regex's on requests and send them to
another server block, returning the response headers from the second
server block. At the moment I get a 302 response status, how do I get
the headers from the second server block?
So as an example, I would like a request like:
http://nginxrouting.local/some/stuff/that/needs/to/be/removed/itemid=1234/more/stuff/topicid=1234
to be sent to
http://nginxrouting_destination.local/itemid=1234topicid=1234 returning
the headers from the new location
The server blocks look like this:
server {
server_name nginxrouting.local;
root /var/nginxrouting/public;
location / {
if ($request_uri ~* ".*(itemid=[0-9]*){1}.*") {
set $itemid $1;
}
if ($request_uri ~* ".*(topicid=[0-9]*){1}.*") {
set $topicid $1;
}
if ($request_uri ~* ".*(&type=RESOURCES){1}.*") {
set $resources $1;
}
rewrite ^
http://nginxrouting_destination.local/$itemid$topicid$resources?
redirect;
add_header itemid $itemid;
}
}
server {
server_name nginxrouting_destination.local;
root var/govuk/nginxrouting/public_destination;
location / {
add_header working yes;
return 200;
}
}
Posted at Nginx Forum: http://forum.nginx.org/read.php?2,229458,229458#msg-229458
More information about the nginx
mailing list