在CQ5

时间:2015-07-06 07:50:39

标签: curl cq5 aem

我试图使用此命令

在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'页面也是?

1 个答案:

答案 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]

请注意,它还提到如果一个资源无法删除,整个操作将失败。