Domanda

ho questo .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]

Così i miei file .php possono essere chiamati senza l'estensione .php.

Ma mi piacerebbe loro di essere chiamati solo con una barra finale. Così, quando questa barra finale non è dato, dovrebbe essere aggiunto con un 301. Il problema che ho è che questo mi sta dando problemi con il www iniziale, e l'estensione .php stesso (a volte è l'aggiunta in modo ricorsivo .php).

Come si può fare?

Grazie!

È stato utile?

Soluzione

Credo che avete bisogno di aggiungere qualcosa di simile prima l'ultima regola di riscrittura, per evitare di riscrivere URI che già terminano in .php

RewriteCond %{REQUEST_URI} !\.php$
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top