我试图使用此命令
在CQ5中仅使用curl删除子页面curl -X DELETE http://%HOSTAUTHOR%:%PORTAUTHOR%/content/a/b/c/d/e/f/g/ \
-u %USER%:%PASSWORD%
我只想删除/content/a/b/c/d/e/f/g/
下的网页,而不是' g'页。但父页面也会被删除。
尝试:
curl -X DELETE %HOSTAUTHOR%:%PORTAUTHOR%/content/a/b/c/d/e/f/g/* \
-u %USER%:%PASSWORD%
不会删除任何内容,并尝试...
curl -X DELETE %HOSTAUTHOR%:%PORTAUTHOR%/content/a/b/c/d/e/f/g \
-u %USER%:%PASSWORD%
删除''页面也是如此。
任何人都可以帮我写出正确的语法,这样只有/content/a/b/c/d/e/f/g/
下的页面才会被删除,而不是整个' g'页面也是?
答案 0 :(得分:1)
根据the Sling documentation,您可以使用:applyTo
参数执行此操作:
如果
:applyTo
值的最后一段是' *'然后操作 适用于已解析的父资源的所有子项。这个可以 被用来对所有资源的孩子采取行动,而不必 指定每个子资源的路径。...
使用
:applyTo
参数指定要删除的项目时,请求资源保持不变(当然,除非在:applyTo
参数中列出)并且仅用于解析:applyTo
参数中的任何相对路径。
语法为:
curl -u [user]:[password] \
-F":operation=delete" \
-F":applyTo=/content/a/b/c/d/e/f/g/*" \
http://[host]:[port]
请注意,它还提到如果一个资源无法删除,整个操作将失败。