我正在AWS上部署应用程序和Wordpress安装。 我有一个EC2下的Apache下build立的WordPress,我的应用程序在Lighttpd下,我想通过应用程序节点反向代理WordPress。 这工作正常,我只是在Lighttpd中设置反向代理,如下所示:
$HTTP["url"] =~ "^/blog" { proxy.server = ( "/blog" => ( "blog" => ( "host" => "123.456.789.123", "port" => 80 )) ) } url.rewrite-once = ( "^(.*?)$" => "/index.php/$1" )
但是,这个问题是在重写。 当我启用重写时,它会在反向代理之前捕获它,并在应用程序服务器index.php由到index.php 。 我需要它不会重写,如果它要去博客。 我尝试了各种正则expression式匹配和其他configuration,但是我一直没有能够支持重写和代理。 如何才能做到这一点?
我会说让你的重写模式忽略代理正在等待的path,但保持configuration相同,否则:
url.rewrite-once = ( "^((?!/blog).*)$" => "/index.php/$1" )
我通过在index.php重写之前放置另一个重写条目来匹配"blog"来解决这个问题。
$HTTP["url"] =~ "^/blog" { proxy.server = ( "/blog" => ( "blog" => ( "host" => "123.456.789.012", "port" => 80 )) ) } url.rewrite-once = ( "^/blog(.*)" => "$0", "^(.*?)$" => "/index.php/$1", )
由于它使用rewrite-once ,它将停止在第一场比赛,让它通过代理服务器。