我在让 mod_proxy 正确地将流量转发到在同一台机器上为预定义子文件夹运行的不同网络服务器时遇到问题。理想情况下,domain.com/docs 应该转发到 127.0.0.1:3000,所有其他流量都应该保留在 domain.com 上。此处的重写规则适用于在 domain.com 上运行的 wordpress 安装:
$HTTP["host"] =~ "(^|\.)domain\.com" {
$HTTP["url"] =~ "^/docs" {
proxy.server = ( "" => (( "host" => "127.0.0.1", "port" => 3000 )))
}
$HTTP["url"] !~ "^/docs/(.*)" {
url.rewrite = (
"^/(.*)\.(.+)$" => "$0",
"^/wp/(.*)$" => "$0",
"^/(.+)/?$" => "/index.php/$1"
)
server.document-root = "/mnt/webroot/html"
}
}
我已经有一段时间反对这个了,所以欢迎任何建议。