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!

Foi útil?

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
scroll top