question on server_name_in_redirect
    bai.xiaoyu at gmail.com 
    bai.xiaoyu at gmail.com
       
    Wed Aug 25 13:08:31 MSD 2010
    
    
  
 server {
         listen        80;
        server_name   example.com:7788 example.com;
        server_name_in_redirect on;
        root         /var/www/html/exampel/;
        index        index.php index.html;
According to the wiki, this should automatically redirect any request
to example.com to example.com:7788
If server_name_in_redirect is on, then Nginx will use the first value
of the server_name directive for redirects. If server_name_in_redirect
is off, then nginx will use the requested Host header.
http://wiki.nginx.org/NginxHttpCoreModule#server_name_in_redirect
But it didn't work in my case.  On nginx 0.8.44
So i had to use
if ($host ~* shop.2u4u.com.cn ) {
        rewrite ^(.*)$ http://shop.2u4u.com.cn:7788$1 ; # $1 contains
'/foo', not 'www.mydomain.com/foo'
        }
Which is not clean and fell in the category of nginx pitfall :(
http://wiki.nginx.org/Pitfalls
    
    
More information about the nginx
mailing list