.htaccess e expressões regulares
Meu .htaccess atual:
RewriteRule ^(.+)\//?$ /dir/arquivo.php?value=$1
Sempre que digitar: meusite.com.br/valor/
O item 'valor' não, se não é nenhuma pasta, então carrega o conteúdo do endereço equivalente a:
meusite.com.br/dir/arquivo.php?value=valor
O problema é que se eu digitar sem a / (barra) final: meusite.com.br/valor
O .htaccess não identifca a mesma regra e não carrega (dá erro).
Eu tentei isso:
RewriteRule ^(.+)$ /dir/arquivo.php?value=$1
Mas daí o problema só inverte, acessa sem a barra (/) final, mas quando coloco a barra dá erro.
Queria saber, como fazer para aceitar dos 2 jeitos?
Ou melhor, para otimizar para o google, se o usuário digitar sem a barra final, redirecionar para a página com a barra final.
Eu já tentei inserir:
RewriteRule ^/(([^/]+/)*([^/.]+))$ /$1/ [R=301]
Funcionou muito bem, mas isso só quando o diretório existe. Se for um diretório virtual como o /valor daí ele não adiciona a / final.
Alguém pode me ajudar com esse complexo problema (pelo menos para mim, rsrs).
Obrigado.
Discussão (2)
Carregando comentários...