为什么RewriteRule在重定向时更改端口?

时间:2018-10-25 06:39:41

标签: apache

虚拟主机正在运行*:444;

具有:

RewriteRule $ /home/ [B,NE,R,L] //what is that $ here anyway?

当我访问

http://myhost:444/

请求导致302重定向到

http://myhost/home/

为什么更改了端口?如何保存端口? RewriteRule文档说R保留端口,但由于某些原因它不适合我。

引用文档:

  

如果指定了完全限定的URL(即,包括   http://servername/),然后将重定向到该位置。   否则,当前协议,服务器名称,和端口号将为   用于生成随重定向发送的URL。

那么为什么端口号不存在?

1 个答案:

答案 0 :(得分:0)

条件可能看起来像这样:

RewriteCond %{SERVER_PORT} !^444$
RewriteRule ^/(.*)$ http://localhost:444/$1 [L,R]

^$表示正则表达式模式下的字符串startend

$1$2是正则表达式匹配项时,请放入反向引用中。