wget --convert-links anexando 'index.html'

2

Estou tentando espelhar um site usando o wget.

A maioria dos links no site aponta para a subpasta como http://foo.com/x/ .

No entanto, quando eu uso --convert-links , o URL é reescrito para http://foo.com/x/index.html .

Alguém pode oferecer uma solução para impedir que esse nome de arquivo seja anexado ao link de URL?

    
por maxp 26.04.2011 / 11:05

1 resposta

3

Quando você acessa um site como link , o que realmente está acontecendo é o seguinte:

  1. Você solicita o link
  2. O site redireciona você para o link
  3. Você solicita o link
  4. O site procura a entrada padrão no diretório (o que é isso depende do servidor da Web) e retorna isso. Se não houver uma entrada padrão, retorne uma listagem de diretórios ou retorne "Proibido".

A entrada padrão, como eu disse, depende do servidor web e suas configurações.

As entradas padrão incluem:

  • index.html
  • index.htm
  • index.php
  • index.cgi
  • default.htm¹

Ao operar localmente e não através de um servidor web, não há como o sistema de arquivos responder com uma entrada padrão, já que não tem nenhum conceito de websites ou index.html ou algo do tipo. A sequência de eventos para um sistema de arquivos local seria assim:

  1. Abra /path/to/example.com/foo/bar
  2. Este arquivo é um diretório. Aqui está a lista de arquivos.
  3. Exibe a lista de arquivos.

Ao espelhar um site com wget , é impossível armazenar o URL como um arquivo sem ter um arquivo de entrada padrão para armazenar os dados no diretório, para que ele crie um (padrão: index.html). A opção --convert-links escreve novamente as URLs nos arquivos para garantir que eles apontem para este arquivo index.html recém-criado e não apenas para o nome do diretório.

Se o site não tiver uma entrada padrão, ele enviará a lista de diretórios bem formatada (se as permissões permitirem). Isso será salvo no arquivo index.html.

Esta é uma operação desejável, pois garante que quando você clica em um link localmente, ele aponta para o arquivo que você deseja ver e não para o diretório que contém o arquivo. Este é o ponto inteiro de usar a opção --convert-links. Você não pode ter uma cópia local do site sem arquivos index.html locais. Qualquer outra coisa quebraria a cópia local do site.

Portanto, não, você não pode parar --convertir-links de anexar index.html como é necessário para que ele funcione localmente.

¹ Este é específico da Microsoft - confie neles para fazê-lo completamente diferente de todos os outros.

    
por 26.04.2011 / 11:53

Tags