我有一个在端口80上运行nginx的vagrant vm。我的主机将端口8080转发到vagrant vm的端口80.
我需要使用301重定向重写一个url,这有效,但我用来通过隧道(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 :(得分:0)
从Host
标题字段中提取原始端口号:
set $port '';
if ($http_host ~ :(\d+)$) {
set $port :$1;
}
rewrite ^/blog/(.*)$ http://example.com$port/blog.php?article=$1;