Eu diria que faça seu padrão de reescrita ignorar os caminhos que estão pendentes para um proxy, mas mantenha a configuração do mesmo jeito:
url.rewrite-once = (
"^((?!/blog).*)$" => "/index.php/$1"
)
Estou implantando um aplicativo e uma instalação do Wordpress na AWS. Eu tenho Wordpress configurar sob Apache em um EC2 e meu aplicativo em Lighttpd e eu quero inverter proxy WordPress através do nó do aplicativo. Isso funciona bem, eu apenas configurei o proxy reverso no Lighttpd da seguinte forma:
$HTTP["url"] =~ "^/blog" {
proxy.server = (
"/blog" => ( "blog" => ( "host" => "123.456.789.123", "port" => 80 ))
)
}
url.rewrite-once = (
"^(.*?)$" => "/index.php/$1"
)
No entanto, o problema está na reescrita. Quando eu habilito a reescrita, ela é capturada antes do proxy reverso e roteada para index.php
no servidor de aplicativos. Eu preciso não reescrever se for para o blog. Eu tentei várias correspondências de regex e outras configurações, mas não consegui fazer com que ele suporte a reescrita e o proxy ao mesmo tempo . Como isso pode ser feito?
Eu diria que faça seu padrão de reescrita ignorar os caminhos que estão pendentes para um proxy, mas mantenha a configuração do mesmo jeito:
url.rewrite-once = (
"^((?!/blog).*)$" => "/index.php/$1"
)
Eu resolvi isso colocando outra entrada de reescrita para corresponder a "blog"
antes da index.php
reescrever.
$HTTP["url"] =~ "^/blog" {
proxy.server = (
"/blog" => ( "blog" => ( "host" => "123.456.789.012", "port" => 80 ))
)
}
url.rewrite-once = (
"^/blog(.*)" => "$0",
"^(.*?)$" => "/index.php/$1",
)
Como ele está usando rewrite-once
, ele irá parar na primeira correspondência e deixá-lo cair no servidor proxy.