Qui peut m'expliquer ce .htaccess ?

WRInaute passionné
Bonjour,

Chez OVH, je maîtrisais bien la réécriture d'URL avec le .htaccess.
Maintenant je suis chez hostgator et ils m'ont donné le code pour la réécriture. Ca fonctionne, mais je le pige pas :

Exemple chez OVH :
#RewriteRule ^([a-z])\.php$ /?actualite=$1 [L]

Maintenant chez hostgator (avec ajout virtuel d'un sous-répertoire) :
RewriteCond %{REQUEST_FILENAME} !actualite.php
RewriteRule ^actualite/(.*).php$ actualite.php?actualite=$1 [L]
Dans l'ordre :
- Qu'est-ce que ce %[REQUEST_FILENAME] ?
- Sur la même ligne, qu'est ce que ce !actualite.php
- Sur la seconde ligne, pourquoi un (.*) et non plus l'expression rationnelle [a-z] ?

Autre question au passage : Si je n'ai plus expression rationnelle (je sais plus si c'est le bon terme, j'ai pas codé depuis 3 ans), alors comment je force un masque ? Si je veux un chiffre, je fais quoi ?

Merci d'avance

vache_sympa.jpg
 
WRInaute passionné
Apparemment elle sert à rien la première ligne, ça fonctionne toujours si je l'enlève. Mais bon, pour la science, elle veut dire quoi ?
 
WRInaute passionné
Salut spout,

Merci, je vais jeter un oeil sur ces liens, ça me fera pas de mal.

"Si c'est pas actualité.php"

C'est-à-dire ? Je ne vois toujours pas l'utilité de cette ligne, d'ailleurs ça fonctionne quand je l'enlève.

**edit**
Si j'en crois te liens, ça veut dire "si la page actualite.php" n'existe pas, c'est ça ? Je n'avais jamais utilisé ça chez OVH, et pourtant j'avais une douzaine de règles de réécriture différentes pour le même site.
 
WRInaute accro
C'est pour que si la page actualite.php existe, que la règle de rewrite ne soit pas prise en compte et donc que le script actualite.php soit appelé depuis son URL sans rewrite.

Maintenant tu as la technique pour faire qu'une seule règle (facilement adaptable si dans le futur ça devait être un autre serveur Web que Apache) :)
 
WRInaute passionné
Ah, merci pour ton explication Spout.

Mais ça fonctionne sans cette ligne, comme j'ai dit, d'ailleurs sur mon précédent script j'avais des pages comme ça et je n'utilisais pas non plus cette ligne.

C'est p'têtre pour les serveurs récalcitrants.
 
Discussions similaires
Haut