2010-12-02 18 views
5

J'ai besoin de 301 rediriger les requêtes vers les fichiers sans extension de même avec l'extension .html jointe:.htaccess - 301 rediriger tous les fichiers sans extension d'avoir .html

http://www.mydomain.com/this 

à

http://www.mydomain.com/this.html 

Seraient pas redirigés:

http://www.mydomain.com/that/ (it's a directory) 
http://www.mydomain.com/other.php 

Toute aide appréciée sur ce qui précède, merci.

Répondre

5

Essayez les solutions suivantes. Je le placerais comme la dernière règle dans votre ensemble (c'est-à-dire le bas) pour ne pas entrer en conflit avec d'autres règles.

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !\..+$ 
RewriteRule ^(.*)$ /$1.html [R=301,L] 

Cela devrait assurer que la demande n'est pas un répertoire et qui est ne se termine pas avec une sorte d'extension. Si ces conditions sont remplies, il ajoutera la demande au .html.

Ceci est non testé, alors revenez si cela fonctionne. ;)

+0

A travaillé parfaitement merci, bien que je devais placer en haut de la liste des règles htaccess. – BrynJ

+0

Bien. Oui, sans voir toutes tes règles, j'ai pris une estimation. Il est généralement préférable de placer ceci en haut ou en bas. Je vais normalement avec le fond. –