我一直在看
http://plone.org/documentation/kb/webdav http://plone.org/documentation/kb/more-webdav
我可以使用尸体(在FreeBSD上)连接到1980端口。
我使用(ProxyPass和ProxyPassReverse)在Apache后面设置了一个简单的Plone设置。
到目前为止一切顺利。现在我希望Apache代理(或重写)WebDAV请求 WebDAV服务器。当使用Netdrive(或其他工具来映射文件浏览器中的驱动器)时,用户只能使用WebDAV(而不是root或其他成员文件夹)查看其个人“成员文件夹”。
如果有人能指导我在Apache VirtualHost中显示重写规则(不是我理解的ProxyPass)的简单教程,我会很高兴。
感谢。 Nikolaj G。
答案 0 :(得分:4)
ProxyPass可以工作。我有一些网站使用ProxyPass,其他网站使用RewriteRule。 Zope VirtualHostMonster下的文档是另一个好地方。
重写就像这样简单:
<VirtualHost *:80>
ServerName webdav.example.ca
ServerAlias somethingelse
ServerAdmin email@example.ca
所以,我假设您将拥有DAV服务器的特定主机名 - 在本例中为webdav.example.ca。
RewriteLogLevel 0
RewriteEngine On
在打开它之前不能使用重写: - )
RewriteRule ^(.*) http://localhost:1980/VirtualHostBase/http/webdav.example.ca:80/Plone/Members/VirtualHostRoot$1 [L,P]
VirtuaLHostBase 之前的部分是您的DAV服务器所在的实际主机/端口。下一部分 http / webdav.example.ca:80 描述了您希望用户使用的协议//:server:port 。 Plone 将是您的Plone网站名称。 $ 1 与正则表达式(。*)匹配。
</VirtualHost>
测试它就像使用DAV服务器中的尸体一样简单。首先确保您可以访问:
http://localhost:1980/Plone/Members/username
然后:
http://localhost:1980/VirtualHostBase/http/webdav.example.ca:80/Plone/Members/VirtualHostRoot/username
最后:
http://webdav.example.ca:80/username
现在,这不会阻止用户尝试附加到其他人的文件夹,但Zope安全性会这样做。有一点鸡和蛋的情况,服务器在你已经使用过它之后才知道用户名。