Existe uma opção para mod_rewrite fazer com que ele manipule diretórios ao invés de passá-los para mod_dir:
RewriteOptions AllowNoSlash
Há mais informações sobre isso em o site de documentação do apache .
Começando com algo simples como:
RewriteRule ^(.*)$ index.php?page=$1
E se eu também quiser que o seguinte funcione:
RewriteRule ^/foo$ /index.php?page=foo #/foo IS a directory
Isso parece funcionar APENAS se o sinalizador R estiver definido, mas o URL não bonito completo é gravado. Assim, parece que posso REDIRECIONAR o diretório existente, mas não reescrevê-los ... Talvez com um .htaccess dentro do próprio diretório? Ou alguma mágica do PHP em /foo/index.php como header (/index.php?page=foo)? será que vai dar certo? Será o padrão HTTP / mecanismo de busca otimizado?
Por favor, ajude!
PS: A idéia mais estranha me ocorreu: redirecionar / foo para / not-a-dir e reescrever / not-a-dir para /index.php?p=foo deveria trabalhar teoricamente ... Mas ... Venha ... Realmente?!?
Existe uma opção para mod_rewrite fazer com que ele manipule diretórios ao invés de passá-los para mod_dir:
RewriteOptions AllowNoSlash
Há mais informações sobre isso em o site de documentação do apache .