Enlever l'extension d'un fichier

Nouveau WRInaute
Bonjour j'ai fait un code pour mon fichier .htaccess qui permet de supprimer les extensions des pages pages.xhtml devient page, je l'ai mis en place et au début cela marchait mais quelques jours après les liens vers page au lieu de page.xhtml retournait un code d'erreur 404, comment faire pour résoudre le problème? Voici la portion de code du fichier .htaccess remplissant cette fonction :
Code:
RewriteEngine On
RewriteBase /html/
RewriteRule ^(home|Travaux)(/.*)?$ $1.xhtml
RewriteRule ^(index|Contact)(/.*)?$ $1.html
 
Nouveau WRInaute
ok

Ok mais ça ne fonctionne pas faut-il mettre :
Code:
RewriteEngine On
RewriteBase /html/
ou seulement
Code:
Options +Multiviews
???
 
WRInaute impliqué
Pourquoi veux tu enlever les extensions?

C'est un peu étrange. Si c'est pour régler le fait que IE ne supporte pas le type mime xhtml, tu peux faire autrement.

Sinon, Options +Multiviews seulement (enlève les règles de réécritures qui traitent les extensions).
 
Nouveau WRInaute
Non c'est pour rendre mes URL insensible au changement de langages donc si je met cette ligne de code je pourra lancer la requête page au lieu de page.php ?
 
WRInaute impliqué
C'est à tester, car le comportement de multiviews dépend de la version d'apache utilisée. mutiviews cherche un fichier dont le nom ressemble à celui que tu donne.

Mais le problème vient du fait que Apache ajoute un / à la fin des URLs qui n'ont pas d'extension mime. L'interaction avec multiviews est donc délicate, car suivant la version et la configuration du serveur, avec un URL de la forme -http://www.ndd.com/page il va chercher s'il existe un fichier page.html, ou alors un répertoire page/
 
Nouveau WRInaute
Ok je vas voir si je peut l'installer sur la version d'Apache que j'ai à disposition sinon le code d'avant remarche j'avais fait une erreur de RewriteBase ;-) Mais si cela marche je remplacerai ça fait plus propre
 
Discussions similaires
Haut