4

我正在尝试使用mod_rewrite基本上将子域上的端口转发到另一个 IP 上的另一个端口。

像这样:

sub.website.com:2000 --> 123.45.67.891:3000 

如何使用带有 的.htaccess文件 来实现这一点mod_rewrite

我尝试了以下但无济于事:

RewriteCond %{HTTP_HOST} ^sub.website.com$ [NC]
RewriteCond %{SERVER_PORT} ^2000$
RewriteRule ^(.*)$ https://123.45.67.891:3000/$1 [L,R=302]
4

1 回答 1

3

根据您的规则,我发现其中HTTP_HOST包括端口号。所以规则应该看起来像

RewriteCond %{HTTP_HOST} ^sub.website.com:2000$ [NC]
RewriteCond %{SERVER_PORT} ^2000$
RewriteRule ^(.*)$ https://123.45.67.891:3000/$1 [L,R=302]

如果您想单独测试服务器名称,您可以使用%{SERVER_NAME}评论中建议的@faa

RewriteCond %{SERVER_NAME} ^sub.website.com$ [NC]
于 2013-04-04T22:17:35.333 回答