Slash de direto e www inicial
Pergunta
Eu tenho este htaccess:
RewriteEngine On
# redirect with www
RewriteCond %{HTTP_HOST} ^mydomain [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1/ [R=301,L]
# add .php internally
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L,QSA]
Portanto, meus arquivos .php podem ser chamados sem a extensão .php.
Mas eu gostaria que eles fossem chamados apenas com uma barra à direita. Portanto, quando essa barra à direita não é fornecida, ela deve ser anexada com um 301. O problema que tenho é que isso está me dando problemas com o www inicial e a própria extensão .php (às vezes está adicionando recursivamente .Php).
Como pode ser feito?
Obrigado!
Solução
Eu acho que você precisa adicionar algo assim antes de sua última regra de reescrita, para evitar a reescrita de Uris que já terminam em .php
RewriteCond %{REQUEST_URI} !\.php$
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow