8722 sujets

Développement web côté serveur, CMS

Bonjour,

Mon problème me paraissait simple, mais il semble que je sois plus simplet que le susdit problème, parce que là, je sèche :

Un tout petit site en php :

-www.toto.com/page1.php
-www.toto.com/page2.php
...

Voulant ceci à la place :

-www.toto.com/page1
-www.toto.com/page2

j'ajoute ceci à mon htaccess :

Options +FollowSymlinks
RewriteEngine on 
RewriteRule ^([a-z]*)$ $1.php [L]

et je modifie mes liens internes en enlevant les extensions.
Ça marche.

Mais ce qui ne marche plus c'est ma racine : -www.toto.com
Erreur 404, The requested URL -www.toto.com/.php was not found on this server.

[a-z] me prend aussi en compte l'url de base ?
Comment éviter ça ?

Merchi d'avance Smiley smile
Modifié par Manhattan (17 Sep 2013 - 18:35)
Le * signifie "0 à n" caractères, je te suggère le + qui signifie "1 à n" caractères :

RewriteRule ^([a-z]+)$ $1.php [L]


Remarque : avec tes exemples "page1" et "page2", ça ne marche pas car avec [a-z], tu exclues les chiffres...
Merci beaucoup petibato Smiley smile

Tu as résolu mon problème. Malgré mes lectures, je n'avais pas trouvé la signification complète de la regexp employée, en tout cas concernant le *

Quant aux chiffres peu m'importe puisqu'en vérité je n'en ai pas dans mes pages, c'était juste pour l'exemple Smiley smile

Je marque donc le sujet comme résolu.