Usando o DirectoryIndex do Apache para ter uma URL inicial curta e sem redirecionador
É normal que tenhamos endereços tipo
twiki.softwarelivre.org e
www.butanta.com.br/twiki.
Os dois casos originalmente usam um arquivo
index.html na raiz do TWiki redirecionando o usuário para
/bin/view.
Redirecionado o usuário vê:
twiki.softwarelivre.org/bin/view e
http://www.butanta.com.br/twiki/bin/view. Existe uma solução que não usa o
"armengue" de um redirect em html e dá uma estética mais agradável a URL inicial ( lembrando que a primeira impressão é a que fica

).
Quando instalamos o TWiki na mão ou via
apt-get (salve APT!), no fim das contas temos algo assim no
/etc/apache/httpd.conf:
ScriptAlias /twiki/bin/ "/home/www/twiki/bin/"
Alias /twiki "/home/www/twiki/"
<Directory "/home/www/twiki/bin">
Options +ExecCGI
SetHandler cgi-script
(...)
Podemos usar o
DirectoryIndex na raiz do TWiki para apontar para a web que desejamos que seja a inicial (nem precisa ser a Main):
ScriptAlias /twiki/bin/ "/home/www/twiki/bin/"
Alias /twiki "/home/www/twiki/"
<LocationMatch ^/twiki/$>
DirectoryIndex /twiki/bin/view/Butanta
</LocationMatch>
<Directory "/home/www/twiki/bin">
Options +ExecCGI
SetHandler cgi-script
(...)
É preciso usar o
DirectoryIndex dentro do
<LocationMatch> porque usando o
DirectoryIndex em um determinado diretório com
<Directory> todos os diretórios filhos deste usarão o
/twiki/bin/view/<Web> como página inicial. Por exemplo, para o
/twiki/pub não deveria haver página inicial! Usando
DirectoryIndex com
<LocationMatch> somente o(s) diretório(s
) definido(s) terá o tal index personalizado.
Para usar o
DirectoryIndex é preciso ter o
mod_dir do Apache que provavelmente é um modulo padrão. (me corrijam se eu estiver enganado)
Agora
www.butanta.com.br/twiki apresenta o mesmo conteúdo de
www.butanta.com.br/twiki/bin/view/Butanta/WebHome. (poderia até ter colocado um outro tópico com outra template como página inicial, como é o caso do
twiki.im.ufba.br)
Os links não serão quebrados porque o twiki os escreve desde o início do
path. Assim:
/twiki/bin/view/<Web>/<MeuTopico>. E as imagens não estão em um
path filho ao da url visitada, elas ficam em
/twiki/pub/<Web>/<MeuTopico>/<imagem.bli> por isso também não sofrem com essa mudança.
Beneficios:
- Solução mais elegante. Não precisamos mais de meio termo e o cliente não é mais o condutor do redirecionamento.
- URL mais simples. É essa que vai pro livro de endereços e que será passada aos amigos por e-mail.
Veja Funcionando!
(Botou no seu? Então bote o link aê!)
--
AurelioAHeckert e
AntonioTerceiro - 12 Nov 2004