o apache conclui automaticamente o URL

1

Veja este URL do NYTimes:

link

Se digitarmos

opinionator.blogs.nytimes.com/2011/01/02/war-i

no navegador, ele nos redireciona automaticamente para o artigo acima, o único artigo dessa pasta que começa com "war-i".

Como fazer isso em um site com o apache, que serve somente arquivos HTML estáticos? Ou seja, se houver um módulo do apache, sem adicionar scripts, seria melhor.

    
por John 04.01.2011 / 03:51

3 respostas

3

O comportamento do qual você está falando é realmente implementado pelo próprio script, não pelo Apache. Ou seja, observe o seguinte site no blog oficial do WordPress, que faz a mesma coisa (este é apenas um blog aleatório que encontrei na primeira página):

link

O mesmo URL pode ser acessado em qualquer combinação dos seguintes itens:

Esse "URL bonito" é realmente imposto pelas regras mod_rewrite , que reescreve o URL para algo que o script pode entender, por exemplo:

RewriteRule ^([12][0-9]{3})/([0-9]{2})/([0-9]{2})/(.*)$ /somescript.php?year=$1&month=$2&day=$3&title=$4

E assim por diante. O script recebe o título do post, percebe que não há nada com esse nome e procura títulos no banco de dados para ver se consegue encontrar uma correspondência. Se isso acontecer, ele redireciona.

Eu realmente espero que isso esclareça o que você está procurando!

Andrew

    
por 04.01.2011 / 04:05
3

Os sites que fazem isso fazem o script, não o servidor da Web.

Se você tiver que fazer isso em HTML estático, mod_speling pode quase faça isso. Alguém dedicado ou louco o suficiente provavelmente poderia fazê-lo funcionar em um ou dois dias.

    
por 04.01.2011 / 04:16
0

Provavelmente, você pode obter uma implementação em funcionamento em poucos minutos, se for bom em escrever scripts de shell ou perl.

mod_rewrite + RewriteMap / MapType: prg + script de conclusão do nome do arquivo

    
por 04.01.2011 / 05:32