Apache-2.2

將 IIS 代理重寫轉換為 Apache .htaccess

  • July 12, 2018
<rewrite>
  <rules>
    <rule name="ReverseProxyInboundRule1" stopProcessing="true">
     <match url="(.*)" />
     <action type="Rewrite" url="http://192.168.1.6/{R:1}" />
    </rule>
  </rules>
</rewrite>

這個概念是我有一個接受 80 和 443 個請求的伺服器,並將它們重定向到網路中的適當伺服器。

我的嘗試:

RewriteEngine  on
RewriteBase    "/"
RewriteRule    "^/(.*)$"  “/“  [R=1]
ProxyPassReverse “/“ "http://192.168.1.6/“

我的小毛病,作為管理員,您可以訪問主要的 apache 配置文件,並且您不應該依賴.htaccess文件。引用自.htaccess文件的手冊:

如果您有權訪問 httpd 主伺服器配置文件,則應完全****避免使用.htaccess 文件。使用文件會降低 Apache http 伺服器的速度。您可以包含在文件中的任何指令最好在主 Apache 配置文件中設置,因為它具有相同的效果和更好的性能。 … 同樣,mod_rewrite 指令在許多方面在主伺服器配置中工作得更好。.htaccess.htaccess

在 Apache 中,我將使用指令配置反向代理ProxyPass,而不是使用 mod_rewrite 指令並設置如下內容:

<VirtualHost *:80>
   ServerName subdomain.example.com
   ProxyPass / http://192.168.1.6/
   ProxyPassReverse / http://192.168.1.6/
   ...
</VirtualHost>

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