Redirect nginx 301丢弃由vagrant转发的端口
我有一个流浪的虚拟机在端口80上运行nginx。我的主机将端口8080转发到流浪vm的端口80 我需要用301重定向重写一个url,这是可行的,但是我用来通过隧道(8080)访问nginx的端口被丢弃,重定向失败Redirect nginx 301丢弃由vagrant转发的端口,redirect,nginx,rewrite,vagrant,Redirect,Nginx,Rewrite,Vagrant,我有一个流浪的虚拟机在端口80上运行nginx。我的主机将端口8080转发到流浪vm的端口80 我需要用301重定向重写一个url,这是可行的,但是我用来通过隧道(8080)访问nginx的端口被丢弃,重定向失败 http://server.com:8080/blog/two -变成- -应该是- 示例: rewrite ^/blog/(.*)$ /blog.php?article=$1 last; 谢谢 从主机标题字段中提取原始端口号: set $port ''; if ($http_h
http://server.com:8080/blog/two
-变成-
-应该是-
示例:
rewrite ^/blog/(.*)$ /blog.php?article=$1 last;
谢谢 从
主机
标题字段中提取原始端口号:
set $port '';
if ($http_host ~ :(\d+)$) {
set $port :$1;
}
rewrite ^/blog/(.*)$ http://example.com$port/blog.php?article=$1;
重写^/blog/(.*)$http://$http_host/blog.php?article=$1 last;[nginx中主机和http_主机的区别是什么][1][1]:如果您不想要端口
8080
,那么为什么nginx听端口8080
,而不是80
,或者我理解错了
rewrite ^/blog/(.*)$ /blog.php?article=$1 last;
set $port '';
if ($http_host ~ :(\d+)$) {
set $port :$1;
}
rewrite ^/blog/(.*)$ http://example.com$port/blog.php?article=$1;