Estou tendo o seguinte problema em um host usando o Apache 2.2.22 + PHP 5.4.0
Preciso fornecer o arquivo /home/server1/htdocs/admin/contents.phpquando um usuário faz a solicitação http://server1/admin/contents:, mas recebo esta mensagem no servidor error_log.
Negotiation: discovered file(s) matching request: /home/server1/htdocs/admin/contents (None could be negotiated)
Observe que eu mod_negotiationhabilitei e MultiViews entre as opções para o host virtual relacionado:
<Directory "/home/server1/htdocs">
Options Indexes Includes FollowSymLinks MultiViews
Order allow,deny
Allow from all
AllowOverride All
</Directory>
Eu também uso mod_rewrite, com as seguintes .htaccessregras:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\./]*)$ index.php?t=$1 [L]
</IfModule>
Parece muito estranho, mas na mesma caixa do PHP 5.3.6 costumava funcionar corretamente. Estou apenas tentando uma atualização para o PHP 5.4.0, mas não consigo resolver esse problema de negociação. Alguma idéia de por que o Apache não pode corresponder contents.phpao pedir content(qual deveria ser o que a negociação de modificação deveria fazer)?
ATUALIZAÇÃO: Percebi que a negociação de mod_nós se comporta corretamente com arquivos com extensão diferente de .php: por isso, se eu tiver um arquivo chamado /admin/contents.txt, posso acessá-lo regularmente com o navegador com / admin / contents url. Portanto, o problema é apenas para arquivos php. Alguma pista sobre o que poderia fazer a negociação falhar?
+MultiViewsativado, e ele desapareceu ao desativá-lo.