httpd.conf e configurando um alias

1

Eu estou tentando configurar um alias no meu arquivo httpd.conf para que eu possa ver meus arquivos de log através do meu navegador. O seguinte é o alias que estou tentando criar.

Alias /logs "/<servername>/log"
<Directory /<servername>/log>
  Options Indexes FollowSymLinks
  AuthName "Application Logs"
  AuthType Basic
  AuthUserFile /<servername>/ihs/610/conf/.htpasswd
  <Limit GET POST>
     require valid-user
  </Limit>
</Directory>

Isso funciona bem na minha caixa de desenvolvedor, mas não na minha caixa de produção. A diferença é que na minha caixa de produção, meu aplicativo é instalado com uma raiz de contexto de / . Quando digito meu URL e adiciono o alias (por exemplo, mysite.com/logs ), em vez de ver o diretório de log, vejo minha página de erro 404 personalizada.

Acho que isso é porque não estou usando uma raiz de contexto ou apenas / para meu aplicativo e todas as solicitações serão atrasadas pelo aplicativo.

Existe alguma solução alternativa?

    
por 5 revs, 3 users 43%anon 25.09.2010 / 11:57

3 respostas

2

Algo como isso deve funcionar:

você deve colocar, não algum tipo de :) Deve ser como "/ home / httpd / www / logs /" ou "/ var / log / apache / log /".

E é melhor terminar os diretórios com "/". Pode ser importante em algumas configurações.

Alias /logs/ "/<path to your directory>/log/"
<Directory /<path to your directory>/log/>
  Options Indexes FollowSymLinks
  AuthName "Application Logs"
  AuthType Basic
  AuthUserFile /<path to your directory>/ihs/610/conf/.htpasswd
  <Limit GET POST>
     require valid-user
  </Limit>
</Directory>
    
por 12.05.2009 / 15:00
0

Presumivelmente, seu "aplicativo" é algum tipo de Django / PHP / Perl, algo que faz todo o tratamento de URLs, certo? Dependendo de como isso é configurado, pode ser necessário mover essa configuração para anterior no arquivo de configuração, ou se seu aplicativo estiver configurado usando RewriteRules, adicione uma exceção para permitir que esse prefixo passe sem acionar seu aplicativo.

    
por 12.05.2009 / 12:08
0

Se bem entendi, você está usando uma parte separada do httpd.conf ou um .htaccess para rotear URLs para sua aplicação ... algo como isto:

RewriteRule ^(.*)$ /index.php?route=$1

Você deve ser capaz de adicionar um arquivo .htaccess ao seu diretório de log e desativar a reescrita ou adicionar

RewriteCond %{REQUEST_URI} !^/logs
RewriteRule ... as above...
    
por 12.05.2009 / 12:08