Yeah, this will break current supported configs like the one you provided. But only <div>the ones with 30x response code overwritten and without named location are</div><div>affected. I think =30x in error_page is something like the "redirect" flag in "rewrite",</div>

<div>which means "I want the redirect" by default. </div><div><br></div><div>I could think of these kinds of configs broken before the patch, and just not sure </div><div>why introducing a location for 30x response.  Is the content for 30x response</div>

<div>valuable? or to generate the "Location" header dynamically which can not be</div><div>expressed by the url param with variables supported?</div><div><br></div><div>But this patch does break supported configs, although named locations can be used</div>

<div>instead as before to <span style="color:rgb(34,34,34);font-size:14px;font-family:arial,sans-serif">do anything.</span> I just don't l like introducing a location to redirect</div>
<div>for 404 error_page :)</div><div><br></div><div>error_page 404 @notfound;</div><div><br></div><div>location @notfound {</div><div>    return 302 /error.html;  # or rewrite ^ /error.html redirect;</div><div>}</div><div>

<div><br><div class="gmail_quote">2013/1/10 Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hello!<br>
<div><div><br>
On Thu, Jan 10, 2013 at 07:31:07PM +0800, lanshun zhou wrote:<br>
<br>
> Absolute url in error_page is always treated by an internal redirect, even<br>
> if the response<br>
> code is specified with 301/302. This patch honors the response code<br>
> specified and<br>
> makes it possible to redirect with absolute url in error_page easily.<br>
<br>
</div></div>I don't like this change.  Current behaviour is well-defined and<br>
allows to do anything (with an additional step in some case).  On<br>
the other hand, introducing logic which takes new response code<br>
into account will complicate things.  The difference between these<br>
two lines will be counterintuitive:<br>
<br>
    error_page 301 /foo.html;<br>
    error_page 301 =302 /foo.html;<br>
<br>
Additionally, it will break configs like this:<br>
<br>
    error_page 301 =302 /foo.html;<br>
<br>
    location = /foo.html {<br>
        ...<br>
    }<br>
<br>
(I.e. change the response code and return content from the<br>
"/foo.html".)<br>
<span><font color="#888888"><br>
--<br>
Maxim Dounin<br>
<a href="http://nginx.com/support.html" target="_blank">http://nginx.com/support.html</a><br>
<br>
_______________________________________________<br>
nginx-devel mailing list<br>
<a href="mailto:nginx-devel@nginx.org" target="_blank">nginx-devel@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-devel</a><br>
</font></span></blockquote></div><br></div></div>