2014-01-23 49 views
3

轉發我在端口80我的主機端口轉發8080無業遊民虛擬機的端口上運行Nginx的80nginx的301下降的流浪漢

我需要重寫一個URL 301重定向,流浪漢虛擬機端口,工程,但我用來通過隧道(8080)訪問nginx的端口被丟棄,重定向失敗。

http://server.com:8080/blog/two 

-becomes-

http://server.com/blog.php?article=two 

- 它應該是 -

http://server.com:8080/blog.php?article=two 

例如:

rewrite ^/blog/(.*)$ /blog.php?article=$1 last; 

謝謝!

+0

重寫^ /博客/(.*)$ HTTP://$http_host/blog.php文章= $ 1的最近; [請告訴我主機和HTTP_HOST在nginx的的差] [1] [1]:http://stackoverflow.com/questions/15414810/whats-the-difference-of-host-and-http-host -in-nginx – user3228313

+0

如果你不想要端口8080,那麼爲什麼nginx要監聽8080端口而不是80端口,或者我理解錯了 –

回答

0

摘自Host頭字段原來的端口號:

set $port ''; 

if ($http_host ~ :(\d+)$) { 
    set $port :$1; 
} 

rewrite ^/blog/(.*)$ http://example.com$port/blog.php?article=$1;