Isso pode não funcionar em todos os casos, mas eu consegui resolver esse problema usando uma tag inesperada.
Do manual do wget 1.17.1:
‘-E’
‘--adjust-extension’
If a file of type
‘application/xhtml+xml’
or‘text/html’
is downloaded and the URL does not end with the regexp‘\.[Hh][Tt][Mm][Ll]?’
, this option will cause the suffix‘.html’
to be appended to the local filename.
Assim, no seu caso, quando o wget localiza o link http://example.com/direction
, ele verifica se a página é formatada em html. Em caso afirmativo, ele será salvo no disco local como /example.com/direction.html
. Então, quando ele vir http://example.com/direction/11
, ele será salvo no disco como /example.com/direction/11
, portanto, não sobrescrevendo o primeiro arquivo. Supondo que a verdadeira estrutura de diretórios seja /example.com/direction/index.html
, ela não corresponderá exatamente à estrutura de diretórios remotos, mas pelo menos não sobrescreverá arquivos incorretamente.