A mod_negotiation parece estar ativada, mas arquivos .php sem extensões retornam 404

1

Eu tenho o seguinte problema - depois de mudar para uma nova plataforma, os arquivos PHP não são encontrados, a menos que o URL contenha sua extensão. Portanto, se /var/www contiver o arquivo problem.php , a URL http://localhost/problem.php será exibida corretamente, mas http://localhost/problem não. Eu tentei o seguinte:

  • Verificado se MultiViews está ativado no arquivo de configuração:

    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
  • Verificado se mod_negotiation é carregado via phpinfo() :

Loaded Modules: core mod_log_config mod_logio mod_version prefork http_core mod_so mod_alias mod_auth_basic mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_deflate mod_dir mod_env mod_mime mod_negotiation mod_php5 mod_reqtimeout mod_rewrite mod_setenvif mod_status

  • No caso de o problema acima ser uma alucinação induzida por estresse, tente carregar o mod_negotiation2 e reiniciar o servidor:

    leviathan www # a2enmod negotiation
    Module negotiation already enabled
    leviathan www # service apache2 restart
      Restarting web server apache2                                                                                             apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
     ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
                                                                                                                          [ OK ]
    leviathan www # 
  • Verifique se .htaccess não está causando isso testando em um diretório sem .htaccess file.

Mas tudo por nada, e eu ainda recebo erros 404, e eu não consigo entender o porquê. O que estou fazendo de errado? Minha plataforma é Linux Mint 14.

    
por Septagram 30.01.2013 / 12:46

1 resposta

1

Eu encontrei uma solução. Adicione a seguinte linha no /etc/apache2/mods-enabled/mime.conf :

AddType application/x-httpd-php .php .phtml .html .htm

Em seguida, reinicie o apache com:

# service apache2 restart

E está feito. Eu suponho que seja um bug na configuração do Linux Mint.

Fonte: "Envio de páginas sem extensão de arquivo PHP [apache] "thread no fórum do webdeveloper.com

    
por 30.01.2013 / 14:41