我正在尝试设置 Zenoss 来使用https://服务器/zenoss代替https://服务器。这是我的重写规则:
RewriteEngine On
RewriteRule ^/zenoss($|/.*) http://localhost:8080/VirtualHostBase/https/server:443/VirtualHostRoot/zenoss$1 [L,P]
这种方式不起作用。我得到:
网站错误
发布此资源时遇到错误。请求的资源不存在。请单击此处返回 Zenoss 仪表板
“请点击此处返回 Zenoss 仪表板”的 URL 指向https://服务器/zport/dmd
但是,如果我按照标准的 Zenoss/Plone/Zope 方式执行,它确实有效:
RewriteEngine On
RewriteRule ^/(.*) http://localhost:8080/VirtualHostBase/https/server:443/VirtualHostRoot/$1 [L,P]
... 效果非常好。
根据本文,似乎第一种方法应该可行。我不太确定我遗漏了什么。
答案1
您的第一条 RewriteRule 中有一个额外内容zenoss
(并且您还使用了双斜杠)。内容如下:
RewriteRule ^/zenoss($|/.*) http://localhost:8080/VirtualHostBase/https/server:443/VirtualHostRoot/zenoss$1 [L,P]
它应该是:
RewriteRule ^/zenoss($|/.*) http://localhost:8080/VirtualHostBase/https/server:443/VirtualHostRoot$1 [L,P]