Bonjour !
Ce la fait quelques jours que je cherche la solution à mon problème et pas moyen de trouver quelque chose qui fonctionne. J'en viens à vous demander votre aide car j'ai l'impression d'avoir tout essayé ! :?
J'explique mon problème :
Sur mon site, tous les fichiers sont des ".php" physiquement présent sur le serveur. Je souhaite pourvoir y accéder via une page .html.
Pour ça pas de problème, une règle possible est :
Cela deviens plus difficile lorsque je souhaite "bloquer" les URL sur l'extension .html c'est à dire que si je reçoit une URL avec un .php, je souhaite faire une redirection 301 sur la même page mais avec l'extension en .html. Celle ci sera ensuite réécrite par le module pour afficher la page .php
Mon code donne alors :
Problème : lorsque j'entre une URL .php, jai bien une redirection et mon navigateur va bien demander la même page en .html.
Le module compare la première règle qui est fausse donc continue puis tombe sur la règle de l'html. Il réécrit donc l'URL mais réévalue ensuite tous le fichier ! :| Ce qu'il fait qu'il retombe dans la 1ere règle et donc redirige sur le .html... etc... et ça boucle !
Cela même avec le drapeau [L] ou n'importe quel autre drapeau. J'ai bien essayé des conditions en tout genre mais pas moyen de l'empêcher de réévaluer la nouvelle URL html une fois qu'il l'a réécrite...
Auriez vous une idée pour résoudre ce problème ?
D'avance merci !
Ce la fait quelques jours que je cherche la solution à mon problème et pas moyen de trouver quelque chose qui fonctionne. J'en viens à vous demander votre aide car j'ai l'impression d'avoir tout essayé ! :?
J'explique mon problème :
Sur mon site, tous les fichiers sont des ".php" physiquement présent sur le serveur. Je souhaite pourvoir y accéder via une page .html.
Pour ça pas de problème, une règle possible est :
Code:
RewriteRule (.+)\.html(.*) $1.php$2 [L]
Cela deviens plus difficile lorsque je souhaite "bloquer" les URL sur l'extension .html c'est à dire que si je reçoit une URL avec un .php, je souhaite faire une redirection 301 sur la même page mais avec l'extension en .html. Celle ci sera ensuite réécrite par le module pour afficher la page .php
Mon code donne alors :
Code:
RewriteRule (.+)\.php(.*) http://www.site.com/$1.html$2 [R=301]
RewriteRule (.+)\.html(.*) $1.php$2 [L]
Problème : lorsque j'entre une URL .php, jai bien une redirection et mon navigateur va bien demander la même page en .html.
Le module compare la première règle qui est fausse donc continue puis tombe sur la règle de l'html. Il réécrit donc l'URL mais réévalue ensuite tous le fichier ! :| Ce qu'il fait qu'il retombe dans la 1ere règle et donc redirige sur le .html... etc... et ça boucle !
Cela même avec le drapeau [L] ou n'importe quel autre drapeau. J'ai bien essayé des conditions en tout genre mais pas moyen de l'empêcher de réévaluer la nouvelle URL html une fois qu'il l'a réécrite...
Auriez vous une idée pour résoudre ce problème ?
D'avance merci !