Eu tenho um (sub)domínio em um serviço de hospedagem compartilhada com uma estrutura como essa abaixo da qual eu controlo através sftp
de uma plataforma Linux. Os index.html
s ainda não existem e eu quero criá-los automaticamente para parecerem bem simples, semelhante a este . Automaticamente significa que toda vez que eu adiciono um novo arquivo no Dir
ectories, os index.html
s devem ser atualizados automaticamente, ou criados no momento em que o usuário acessar o site. Quando o usuário clica em um link do index.html
, ele deve ver o site html vinculado.
'--Subdomain_a
'--httpdocs
'--.htaccess
'--index.html
'--Dir1
'--index.html
'--file1.html
'--file2.html
'--Dir2
'--index.html
'--file1.html
'--file2.html
Acredito que isso deve ser possível sem muito esforço ou software adicional. Um resultado de pesquisa na web sugeriu adicionar Options +Indexes
linha ao meu .htaccess
arquivo:
Deny from All
Allow from 123.456.789.10
Options +Indexes
No entanto, isso não criou o index.html
s.
Meu problema é que não sei exatamente o que estou procurando. Só me lembro que nos primeiros dias da internet, muitos sites pareciam simples como meu exemplo vinculado, e acredito que isso possa ser um arquivo de índice padrão gerado pelo servidor apache (?) ou algo assim.
Como eu posso fazer isso?
O site ao qual você vinculou, de fato, usa a indexação automática de diretórios do Apache httpd. Esse é o conjunto de ícones clássico que vem com o Apache, mas muitos outros servidores web também têm indexação (geralmente ainda mais simples).
No entanto, não é um arquivo. A indexação de diretório não cria nenhum arquivo index.html real – em vez disso, o Apache apenas gera a página em tempo real, toda vez que alguém faz a solicitação HTTP, então mesmo quando funciona, você nunca verá um index.html aparecer via SFTP. (É como aplicativos CGI ou WSGI a esse respeito.)
Normalmente
Options +Indexes
deve ser suficiente para habilitar isso. Mas você não está vendo o índice automático via HTTP , então é realmente possível que seu host tenha desabilitado AllowOverrides para usuários, ou na verdade nem tenha carregado o módulo 'mod_autoindex' – isso não é algo que você pode corrigir via .htaccess; tem que ser feito pelo anfitrião.Uma alternativa é usar uma página PHP para gerar tal índice (a maioria dos hosts compartilhados suporta PHP), então você pode usar 'DirectoryIndex' para fazer com que httpd use essa página como o "arquivo de índice" padrão para todos os diretórios sem precisar copiá-lo manualmente lá. O script PHP será informado para qual local está sendo servido e pode gerar uma lista de arquivos de acordo. (Existem alguns desses programas que criam índices muito sofisticados, mas no seu caso eu começaria do zero.)