Por que meu site precisa especificar a extensão .php no URI?

0

Estava executando uma configuração de lâmpada do ubuntu 12.04. Construiu um novo usando 14.04 ubuntu. Estas são as duas instâncias na AWS. No site antigo, um script php chamado "info.php" poderia ser exibido com o URL " link " e exibiria o phpinfo () saída. No novo servidor 14.04, com os pacotes lamp-server instalados, se eu não especificar a extensão .php, recebo um arquivo não encontrado (funciona bem com a extensão .php adicionada). Por que o request_URI não está sendo reescrito automaticamente na configuração mais recente?

As opções de conf do php5 e apache2 também foram alteradas. Em 12.04 ubuntu o php5 é 5.3.10-1ubuntu3.14 e a configuração do 14.04 ubuntu é 5.5.9-1ubuntu4.5.

Pesquisando, vejo muita discussão sobre regras de reescrita e tal, mas estou confuso de que estou perdendo um problema básico de configuração / configuração aqui. Alguém pode ajudar a apontar a estupidez dos meus caminhos aqui?

obrigado,

    
por Frank Bieser 02.02.2015 / 00:40

1 resposta

3

A diferença entre 12.04 e 14.04 está no arquivo /etc/mime.types. Em 12.04 a área relacionada é esta:

application/x-httpd-php                         phtml pht php
application/x-httpd-php-source                  phps
application/x-httpd-php3                        php3
application/x-httpd-php3-preprocessed           php3p
application/x-httpd-php4                        php4
application/x-httpd-php5                        php5

Em 14.04 a área relacionada é esta:

#application/x-httpd-php                        phtml pht php
#application/x-httpd-php-source                 phps
#application/x-httpd-php3                       php3
#application/x-httpd-php3-preprocessed          php3p
#application/x-httpd-php4                       php4
#application/x-httpd-php5                       php5

Observe que as linhas relevantes são comentadas no caso 14.04. Uma vez que eu descomentei essas linhas, eu pude ter arquivos .php carregados sem especificar a extensão do arquivo .php (depois de reiniciar o apache, é claro).

sudo service apache2 restart
    
por Doug Smythies 02.02.2015 / 02:38