6
我需要使用HTTP_HOST一个报头的重写规则,但更改端口 我不能使用SERVER_NAME因为这将是从主机头不同(这正是我需要的)重写规则使用HTTP_HOST和不同的端口
是有一种方法可以修改mod_rewrite的HTTP_HOST变量的端口:
我需要使用HTTP_HOST一个报头的重写规则,但更改端口 我不能使用SERVER_NAME因为这将是从主机头不同(这正是我需要的)重写规则使用HTTP_HOST和不同的端口
是有一种方法可以修改mod_rewrite的HTTP_HOST变量的端口:
是的,你可以修剪掉主机头的端口。只需匹配%{HTTP_HOST}
并使用%1
反向引用即可。例如:
RewriteCond %{HTTP_HOST} ^([^:]+)(:[0-9]+)?$
RewriteRule^http://%1:12345/ [R,L]
只要记住的是,%1
反向引用只能在RewriteCond
的第一个参数一起使用,而不是在比赛中:
RewriteCond %{HTTP_HOST} ^([^:]+)(:[0-9]+)?$
RewriteCond %1 ^the.hostname.com$ [NC]
是确定
RewriteCond %{HTTP_HOST} ^([^:]+)(:[0-9]+)?$
RewriteCond %{REQUEST_URI} ^%1
不好
我认为这解决了我的问题。谢谢! :) – arcyqwerty 2012-07-19 15:29:17
你的意思是你在不同的端口上运行Apache? – Devraj 2012-07-19 04:28:41
%{SERVER_PORT}包含服务器的端口。你可以编辑你的问题更具描述性? – 2012-07-19 04:39:03
它需要使用http_host重定向到适当的外部服务器。这个虚拟网站不在端口80 – arcyqwerty 2012-07-19 05:07:01