Como garantir a precedência dos arquivos sobre os diretórios com o Apache?

Como garantir a precedência dos arquivos sobre os diretórios com o Apache?

Meu httpd.conf usa a opção MultiViews para servir arquivos HTML para URLs comohttp://servidor/blog. Isso funciona bem, a menos que existam diretórios com o mesmo nome – o Apache tentará então servir o diretório.

Existe alguma maneira de garantir a precedência de blog.html sobre blog/, ou melhor: posso fazer com que o Apache processe a negociação de conteúdo de acordo com o MultiView, embora uma entidade correspondente (o diretório) esteja presente?

No nginx, posso fazer isso explicitamente:

try_files $uri $uri.html $uri/ =404;

Responder1

Voltei a usar mod_rewrite. A regra a seguir reescreve URLs sem ponto (".") apenas, então /images/image.jpeg é deixado de lado:

RewriteRule ^/([^\.]+)$ /$1.html [L]

informação relacionada