Apache-2.2

使用 .htaccess 更改埠和主機

  • July 17, 2017

我正在嘗試使用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]

嘗試在您的.htaccess.

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

您還可以在此處查看接受的答案 ( http://www.webmasterworld.com/apache/3264071.htm )。R=301 用於永久重定向。如果您希望使用臨時重定向,請改用 R=302。

如果它沒有幫助,您可以嘗試在您的 apache 中啟用代理:(編輯您的 /etc/apache2/httpd.conf)

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

ProxyRequests Off

<Proxy *>
   Order deny,allow
   Allow from all
</Proxy>

<VirtualHost sub.website.com:2000>
   ServerName  redirecting
   ServerAdmin admin@website.com

   ProxyRequests off
   ProxyPass / http://123.45.67.891:3000
</VirtualHost>

(查看此處發布的解決方案Apache 埠轉發)。

引用自:https://serverfault.com/questions/496171