2010-02-14 4 views
3

initial Je possède ce htaccess:slash et www

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] 

donc mes fichiers .php peuvent être appelés sans l'extension .php. Mais je voudrais qu'ils soient appelés seulement avec un slash final. Donc, quand ce slash n'est pas donné, il devrait être ajouté avec un 301. Le problème que j'ai est que cela me donne des problèmes avec le premier www, et l'extension .php elle-même (parfois il ajoute récursivement .php).

Comment cela peut-il être fait?

Merci!

Répondre

3

Je pense que vous avez besoin d'ajouter quelque chose comme ça avant votre dernière règle de réécriture, afin d'éviter la réécriture URIs qui se terminent déjà en .php

RewriteCond %{REQUEST_URI} !\.php$