2009/10/8 "Fábio Jr." <fjuniorli...@gmail.com> > Obrigado pela resposta Wanderson, > Posso ter me expressado mal, mas esse não era o foco das minhas > perguntas, > O AliasMatch do Apache não consegue extrair dados de uma string. > Ex.: > URL: [1]http://servidor.foo.bar/123852.jpg > Eu preciso q quando alguem fizer esta requisição ao apache, ele > redirecione para o diretório /arquivos/imagens/8/52/123852.jpg. Usando > expressões regulares do AliasMatch, não consigo pegar o caractere 8 do > último campo, e depois pegar os caracteres 52, mas apenas a palavra > inteira. Preciso que seja algo dinâmico pois ficaria inviável criar um > redirecionamento para cada pasta. > Esta estratégia de reorganização de diretórios tem como foco > performance de disco. As alterações do Apache são apenas reflexos desta > estratégia. Escolhi o Apache depois de realizar alguns testes entre o > lighttpd e ele, e perceber que mesmo o lighttpd sendo mais leve, o > Apache é um aplicativo muito mais completo em questão de módulos > nativos. > Meu problema maior é com a indexação destes arquivos pelo SO, e também > as rotinas de backup, já que o storage onde estes arquivos são > hospedados fica nos EUA. > []s > Fábio Jr. > Wanderson Tinti escreveu: > > 2009/10/7 "Fábio Jr." [2]<fjuniorli...@gmail.com> > > > > Olá Fábia, bom dia.
Eu compreendir sua pergunta. E, como disse, é possível sim. Em um teste rápido que acabei de fazer conseguir obter o resultado que você procura. Vou tentar explicar como ficou meu ambiente. Obs: A unica diferença é que estou usando arquivos .txt e não .jpg. Diretórios dos arquivos: /var/www/imagens/4/56/123456.txt /var/www/imagens/8/91/123891.txt /var/www/imagens/8/91/456891.txt Obs: Em cada um desses arquivos eu escrevi algo para ter certeza do funcionamento, além é claro de consultar os logs do Apache. Agora a configuração do AliasMatch no Apache: AliasMatch ^/...([0-9-_.]{1})/?([0-9-_.]{2})/?(.*) /var/www/imagens/$1/$2/$0 Então, quando eu acesso http://www.site.com/123456.txt sou levado ao arquivo /var/www/imagens/4/56/123456.txt. O mesmo server para os outros arquivos. Não sou conhecedor de expressões regulares, mas isso deve ser o que você procura. Nota: Estou supondo que seus arquivos de imagens tenham somente seis caracteres como parte do nome(6 números). Por quê? No inicio da string eu falo para ser pego os 3 primeiros caracteres ( ^/... ). Depois pego o primeiro número, mais os dois últimos números, e para finalizar pego a extensão do arquivo( .*). Você pode trocar por ( .jpg). Depois é só montar o caminho para os arquivos usando as variáveis com os valores extraídos. Se eu falei alguma besteira peso que me corrija, por gentileza. É isso que você procura fazer? Atenciosamente, Wanderson Tinti ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd