Eu tenho essa configuração de host virtual como a primeira de uma lista de hosts virtuais. Isto é
<VirtualHost localhost:80>
ServerName localhost
DocumentRoot "/www/drupal5"
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Allow from localhost
</Location>
</VirtualHost>
O restante dos hosts virtuais está abaixo e expresso como *: 80.
Quando incluo o DocumentRoot nesse host virtual, solicitações no servidor para http://localhost/server-status
sempre pressionar /index.php por meio de regras de reescrita em /www/drupal5/.htaccess. Se eu remover a declaração DocumentRoot, as solicitações / server-status funcionarão bem, mas o site não estará disponível http://localhost/
.
Como posso http://localhost/server-status
trabalhar, bem como o site para carregar http://localhost/
?
/www/drupal5/.htaccess
? Felizmente, é possível modificar as regras de reescrita para que as solicitações de / server-status não sejam reescritas.Respostas:
Encontrei a solução quando pesquisei 'server-status mod_rewrite'. Coincidentemente, foi respondido em um fórum drupal: http://drupal.org/node/52511
A adição
RewriteCond %{REQUEST_URI} !=/server-status
à regra de reescrita para redirecionar todo o tráfego para /index.php foi corrigida.Muito confuso que mod_rewrite possa reescrever uma uri que já esteja configurada como manipulador.
fonte
Se você estiver usando o Apache 2.3 ou superior, também poderá usar o
END
sinalizador na entrada do VirtualHost, para evitar a necessidade de modificar os arquivos .htaccess.Deve impedir que as regras subsequentes reescrevam as coisas.
fonte
Basta adicionar uma entrada em branco do vhost na parte superior do arquivo de configuração do vhost, por exemplo
fonte