使用 lighttpd 从 site.com:8080 移动到端口 80.需要帮助重定向



我有一个网站,人们在他们的页面上放置链接以访问我的网站。那里有几百个网站,上面有 mysite.com:8080/url。我不再使用在 8080 上应答的程序,而只是在端口 80 上监听 lighttpd。新的php程序查看引用网址以了解该站点是什么。我需要将所有 mysite.com:8080 重定向到 mysite.com 保留引用信息。听起来很简单,但我无法让它工作。如果我使用 iptables 将 8080 重定向到 80,lighttpd 不会将它们定向到任何特定站点(服务器上有几个站点使用 hosts 变量来确定将人们定向到什么)。这就像它在到达 lighttpd 之前剥离引用信息一样。我搜索了又搜索,找不到解决方案。

希望这里有人可以帮忙。

我会从这样的配置开始。基本上,重定向到端口 80 的任何内容进入 8080。

server.port = 80
...
$SERVER["socket"] == ":8080" {
    $HTTP["host"] =~ "([^:/]+)" {
        url.redirect = ( "^/(.*)" => "http://%1/$1" )
    }
}

> 我基本上最终复制了 :8080 部分中正常站点的其他部分。

$SERVER["socket"] == ":8080" {
 server.document-root = "/home/mysite/public_html"
url.rewrite-once += ( "^/(.*)" => "/index.php" )
evasive.max-conns-per-ip = 10
server.error-handler-404 = "/e404.php"
}

获取引用者信息以使其通过的关键是在 url 重写中添加 +。

是:

url.rewrite-once = ( "^/(.*)" => "/index.php" )

需要修复:

url.rewrite-once += ( "^/(.*)" => "/index.php" )

现在工作完美。感谢您的帮助,并希望发布我的最终解决方案,以防有一天它可以帮助其他人。

再次感谢。

最新更新