Apache重写整个子域

时间:2017-03-28 21:47:41

标签: apache .htaccess mod-rewrite

我将如何重写:

proxmox.example.com

example.com/forward/?url=proxmox.example.com
  • 我正在尝试使用Apache

  • 在Ubuntu上执行此操作
  • 请告诉我使用的Apache插件。

  • 这次重写是否会进入我的VirtualHosts文件? (在/ etc / apache2的/位点可用)

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

你不需要vhost。它可以放在主Apache配置中。 把它放在你的配置中:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(proxmox.(example.com))$
RewriteRule .* http://%2/forward/?url=%1 [R,L]

如果要屏蔽/隐藏用户的重写,请使用[P,L]代替“R”。否则请留下'P'。

此外,我使用两个嵌套括号来检索example.com(值存储在%2中)并在第二行中使用它而不是静态“example.com”。但是如果您更喜欢“更清晰”(=更容易阅读)的规则,请使用:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(proxmox.example.com)$
RewriteRule .* http://example.com/forward/?url=%1 [R,L]

希望它有所帮助。让我们知道它是否确实如此,如果不这样做,我们可以进一步提供帮助:)