Fichier .htacces qui fonctionne qu'en local

Eléphant du PHP | 139 Messages

30 avr. 2005, 17:39

Bonjour,

Sur un site, j'utilise cette structure pour appeler mes pages : index.php?page=lapage.htm .
(toutes mes pages sont au format .htm)

J’ai voulu faire en sorte qu'à la place d'être inscrit index.php?page=lapage.htm, qu'il soit inscrit seulement lapage.htm

pour ce faire, j'ai utilisé le fichier .htaccess comme ceci :

Code : Tout sélectionner

RewriteEngine on RewriteRule ^(.*).htm index.php?page=$1.htm [L]
Et renommer les liens de mon menu en lapage.htm.

Tout ceci fonctionne très bien en local, mais pas sur l'hébergeur (Nuxit) .

J'ai vérifié si celui acceptai bien l'url rewriting et c'est bien le cas !!!!

Quelqu'un a une idée ?

ViPHP
ViPHP | 1380 Messages

30 avr. 2005, 18:07

Accepte t'il des .htaccess dans les répertoires? Le AllowOverride est peut-être sur None dans le httpd.conf?

Tes autres directives fonctionnent-elles dans .htaccess?

En passant tu peux encore améliorer ta règle de rewrite car comme elle est écrite là, une url comme nImporteQuoihtm (sans le point) sera transformée en nImporteQuo.htm (le i de quoi a disparu)

Essaye plutôt:

Code : Tout sélectionner

RewriteRule ^(.*)\.htm$ test.php?page=$1.htm [L]
Le dot est échappé sinon il prend n'importe quel caractère. J'ai aussi rajouté l'ancrage de fin de chaîne $ sinon ta règle acceptera également une url exotique comme ta_page.htmHeHeZorroEstArrive
ripat

Eléphant du PHP | 139 Messages

30 avr. 2005, 18:35

Accepte t'il des .htaccess dans les répertoires? Le AllowOverride est peut-être sur None dans le httpd.conf?
Comment puis-je le savoir ?
Tes autres directives fonctionnent-elles dans .htaccess?
:oops: je n'ai que ça.
Qu’est ce qu'on peut.... ou plutôt qu’est ce qu'on doit mettre d'autres ?

Merci pour l'amélioration et surtout les explications :wink:

Eléphant du PHP | 219 Messages

30 avr. 2005, 19:18

C'est peut-être une question de chemin... t'as essayé avec /test ?

a+
daoud

Eléphant du PHP | 139 Messages

30 avr. 2005, 19:20

Oui, j'ai testé avec / et ../ mais ça ne marche pas non plus :(

Eléphant du PHP | 219 Messages

30 avr. 2005, 19:34

et ça au début :

Code : Tout sélectionner

Options FollowSymLinks RewriteEngine on RewriteBase /
daoud

Eléphant du PHP | 139 Messages

30 avr. 2005, 19:44

Génial 8)

ça fonctionne merci :wink: