![将 IIS 代理重写转换为 Apache .htaccess](https://linux22.com/image/724493/%E5%B0%86%20IIS%20%E4%BB%A3%E7%90%86%E9%87%8D%E5%86%99%E8%BD%AC%E6%8D%A2%E4%B8%BA%20Apache%20.htaccess.png)
<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/“
答案1
我最讨厌的是,作为管理员,你可以访问主 Apache 配置文件,但你不应该依赖.htaccess
文件。引自.htaccess 手册文件:
你应该完全避免使用
.htaccess
文件 如果你有权访问 httpd 主服务器配置文件。使用.htaccess
文件会减慢你的 Apache http 服务器速度。任何可以包含在.htaccess
文件中的指令最好在主 Apache 配置文件中设置,因为它将具有相同的效果且性能更佳。...
同样
,mod_rewrite 指令在主服务器配置中在许多方面都运行得更好。
在 Apache 中,我将使用ProxyPass
指令,而不是使用 mod_rewrite 指令并设置如下内容:
<VirtualHost *:80>
ServerName subdomain.example.com
ProxyPass / http://192.168.1.6/
ProxyPassReverse / http://192.168.1.6/
...
</VirtualHost>