Adicione isto:
Options -Multiviews
eles geralmente não são muito legais em combinação com mod_rewrite
BTW: se isso é tudo o que você faz atualmente, use o novo FallbackResource
pode ser mais eficiente. (Versão > = 2.2.16).
Eu tenho uma regra de reescrita que envia todas as solicitações para index.php
:
RewriteRule ^.*$ index.php [NC,L]
(Além de RewriteEngine On
, isso é tudo que existe no arquivo .htaccess
)
Funciona, a menos que o caminho da solicitação comece com index/
. Nesse caso, o resultado é um 404 Not Found
.
Se eu alterar o nome do arquivo de index.php
para index2.php
(e a regra de reconfiguração para combiná-lo), ele começará a funcionar novamente, então claramente há um conflito quando o primeiro segmento do caminho solicitado é igual ao primeiro segmento do arquivo de destino .
O mod_rewrite
log contém isso (ao solicitar /index/hello
, que falha ):
add path info postfix: /path/to/index.php -> /path/to/index.php/hello
strip per-dir prefix: /path/to/index.php/hello -> index.php/hello
applying pattern '^.*$' to uri 'index.php/hello'
rewrite 'index.php/hello' -> 'index.php'
add per-dir prefix: index.php -> /path/to/index.php
initial URL equal rewritten URL: /path/to/index.php [IGNORING REWRITE]
(Algumas informações de log removidas ou modificadas para facilitar a leitura.)
Meu servidor é Apache/2.2.22
.
NB: Este site, .htaccess
e index.php
incluído, funcionou sem problemas até que eu reinstalei o Debian em um novo servidor, então estou assumindo que há algum tipo de conflito de configuração ou bug na versão que faz acontecer agora. Eu não mudei nenhum arquivo de site.
Alguma idéia?
Adicione isto:
Options -Multiviews
eles geralmente não são muito legais em combinação com mod_rewrite
BTW: se isso é tudo o que você faz atualmente, use o novo FallbackResource
pode ser mais eficiente. (Versão > = 2.2.16).