.htaccess - 使用 .htaccess 更改端口和主机

标签 .htaccess mod-rewrite apache2 subdomain portforwarding

关闭。这个问题是off-topic .它目前不接受答案。












想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。

8年前关闭。




Improve this question




我正在尝试使用 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]

最佳答案

玩弄你的规则,我发现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]

关于.htaccess - 使用 .htaccess 更改端口和主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15821444/

相关文章:

php - 停止直接访问文件夹中的所有文件,但允许 ajax 请求

.htaccess - 使用 .htaccess 将 Web 根文件夹设为子文件夹?

regex - mod_rewrite/重定向与?在查询字符串中

html - mod_rewrite 搞砸了包括

apache - 子目录中的.htaccess - 如何使用RewriteBase

apache - 如何检查 apache 模块版本?

apache - Ubuntu 12.04 AllowOverride All 抛出内部服务器错误

apache - 重写以附加到查询字符串

apache - URL 中的可选参数 - 重写规则

linux - 禁用 SSL 2.0 但不更新 SSL 2.0+? Apache 2.x