Apache: URLs sem extensão recebem uma extensão .php automática

5

Quando eu peço ao servidor por um URL que não tem extensão, mas não é um diretório, o apache adiciona automaticamente uma extensão .php a ele. Onde esse comportamento está configurado?

EDIT: Desculpe, a minha pergunta não ficou clara: não estou perguntando como fazer isso, acabei de descobrir que meu servidor local (Apache / 2.2.11 no Debian) faz isso sozinho (ou seja, Eu não tenho regras de reescrita) e eu queria saber onde isso pode ser configurado.

    
por Matteo Riva 10.11.2009 / 20:32

2 respostas

17

O Debian (falando as versões atuais como você menciona o Apache 2.2.11 que fica em algum lugar entre Lenny e Sid) tem a opção MultiViews habilitada para os diretórios /var/www e /usr/share/doc por padrão em /etc/apache2/sites-enabled/000-default . Com essa opção ativada, o Apache tentará corresponder uma solicitação de URI a qualquer arquivo com uma extensão que conheça. Dito isso, se o URI estiver solicitando /test , ele tentará coisas como test.php , test.html , test.txt , etc até encontrar uma correspondência.

    
por 10.12.2009 / 23:49
0

Existem algumas maneiras de fazer isso. Eu usaria uma abordagem mod_rewrite:

  • deixe qualquer url que termine em .php (.jpg, etc) passar, última regra se corresponder
  • regravar o URL para terminar em .php, última regra se corresponder
por 10.11.2009 / 20:41

Tags