Estou usando a tônica da biblioteca php para serviços da web. Meu recurso é como exemplo em
base-uri/myResource
Agora, se um arquivo myResource.php existir nesse diretório, o mod_rewrite da url verá
base-uri/myResource.php
que falha as condições de reescrita e meu aplicativo quebra (o aplicativo funciona no apache no Windows)
Se eu renomear myResource.php para myResourceClass.php (ou qualquer outra coisa), ele funciona.
Portanto, parece que apache ou um se seus módulos assumem que com base-uri / myResource eu quero chamar base-uri / myResource.php mas somente se myResource.php existir.
Este é um problema geral ou posso configurá-lo em algum lugar para não acontecer?
obrigado!
EDITAR:
veja
Como configurar um mod_rewrite básico? / p>
A resposta contém a mesma observação!
RESPOSTA:
O problema é a configuração padrão do Apache no Ubuntu:
Options Indexes FollowSymLinks MultiViews
O MultiViews está mudando o request_uri de myResource para myResource.php.
Soluções:
- desativa os MultiViews no .htaccess: Opções -MultiViews
- remova os MultiViews da configuração padrão
- renomeie o arquivo como exemplo para myResourceClass
Eu escolhi a última opção porque isso deve funcionar independentemente da configuração e eu só tenho 3 desses arquivos, então a alteração demorou cerca de 30 segundos ...