Mod_rewrite URL bonito quando domain / foo é um diretório

1

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?!?

    
por ModRewriter 17.12.2012 / 09:58

1 resposta

1

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 .

    
por 17.12.2012 / 15:19