URL Rewriting chez Gandi : je loupe qqch ?

  • Auteur de la discussion Auteur de la discussion Olif
  • Date de début Date de début
Nouveau WRInaute
Bonjour,

J'ai déjà fait de l'URL Rewriting, sans soucis.
La, je coince totalement, et avant de mettre en cause l'hebergement, je voudrai votre "validation", au cas où je serai passé à coté de qqch de flagrant.
voici les 2 lignes de mon .htaccess :
Code:
RewriteEngine On
RewriteRule olivier.php /forum

L'adresse /forum existe et fonctionne, le .htaccess est à la racine de mon site, et pourtant, lorsque je vais sur "http://monsite.com/olivier.php", j'ai une 404.
Je loupe qqch de flagrant, ou y'a un autre souci ?
Rassurez moi :cry: !
Merci.
Oliv.
 
WRInaute discret
Il faut déjà commencer par rajouter le [L] en fin de règle pour éviter toute continuité dans les autres règles qui suivent.
Ensuite, utiliser une syntaxe plus adaptée: pas besoin du slash avant "forum", le "^$" pour la regex à évaluer.
Enfin, bien comprendre la différence entre une redirection et une simple réécriture.

Redirection: empêcher l'accès à une page en redirigeant vers une autre cible.
Code:
RewriteEngine on
RewriteRule ^olivier.php$ forum [R=301,L]
Dans cet exemple, la page "olivier.php" sera redirigée de façon permanente (redirection 301) vers le dossier (virtuel ou non) "forum".

Réécriture: permettre à une url de pointer sur une autre pour obtenir le même contenu.
Code:
RewriteEngine on
RewriteRule ^olivier.php$ forum [L]
Cet exemple est le tiens, et il n'a pas beaucoup de sens à priori car je pense que tu voulais une redirection. Néanmoins, cet exemple te permet d'accéder à "olivier.php" (imaginons que cette page n'existe physiquement pas sur ton serveur) et que le contenu pointe sur le dossier "forum". Pour avoir plus de sens, on aurait fait l'inverse mais encore une fois, je pense que tu voulais une redirection.

Donc à toi de voir maintenant ce dont tu as besoin.
 
Nouveau WRInaute
Giustino a dit:
Il faut déjà commencer par rajouter le [L] en fin de règle pour éviter toute continuité dans les autres règles qui suivent.
Ensuite, utiliser une syntaxe plus adaptée: pas besoin du slash avant "forum", le "^$" pour la regex à évaluer.
Enfin, bien comprendre la différence entre une redirection et une simple réécriture.

Redirection: empêcher l'accès à une page en redirigeant vers une autre cible.
Code:
RewriteEngine on
RewriteRule ^olivier.php$ forum [R=301,L]
Dans cet exemple, la page "olivier.php" sera redirigée de façon permanente (redirection 301) vers le dossier (virtuel ou non) "forum".

Réécriture: permettre à une url de pointer sur une autre pour obtenir le même contenu.
Code:
RewriteEngine on
RewriteRule ^olivier.php$ forum [L]
Cet exemple est le tiens, et il n'a pas beaucoup de sens à priori car je pense que tu voulais une redirection. Néanmoins, cet exemple te permet d'accéder à "olivier.php" (imaginons que cette page n'existe physiquement pas sur ton serveur) et que le contenu pointe sur le dossier "forum". Pour avoir plus de sens, on aurait fait l'inverse mais encore une fois, je pense que tu voulais une redirection.

Donc à toi de voir maintenant ce dont tu as besoin.

OK. La, mon but était bien une reecriture, mais comme l'url rewriting ne semble pas fonctionner sur mon serveur (dédié Gandi), j'ai fait un petit htaccess basique (celui-ci) pour valider le fonctionnement.
Donc, mon simple test sur ce coup consiste à rediriger /olivier.php (qui n'existe pas), vers /forum.
Mon .htaccess, tout simple, pour test, doit bien faire ce que j'attend, non ?
soit j'ai loupé un truc énorme (mais sur un truc aussi basique, ca me ferait quand même un peu mal), soit l'url rewriting sur mon serveur ne fonctionne effectivement pas.
C'est le seul objectif de cette redirection, et mon .htaccess ne contient bien QUE ces 2 lignes ...
Oliv.
 
WRInaute discret
Et en le faisant pointer sur une page du dossier forum? L'index par exemple si tu en as un.
Car je ne pense pas que le moteur de réécriture fasse automatiquement le lien, à tester.

Code:
RewriteEngine on
RewriteRule ^olivier.php$ forum/index.php [L]
 
Nouveau WRInaute
Oui, c'était l'idée de ma "solution", tester un truc basique.
Je viens de faire le test que tu proposes (et /index.php existe bien), meme resultat ...
Je penche de plus en plus pour un pb de config serveur ...
 
Discussions similaires
Haut