Nouveau WRInaute
Bonjour à tous,
J'expérimente depuis peu quelques techniques d'URL rewriting pour mon site perso fait en PHP/MySQL et hébergé chez OVH en mutualisé.
Première technique testée : l'emploi du ErrorDocument dans le htaccess. Dans l'ensemble, c'est parfait : facile à mettre en oeuvre, fonctionne très bien, joie. Pour rappel :
On redirige les erreurs 404 vers un fichier. En l'occurence je l'ai redirigé sur mon index.php, qui va analyser l'URL et extraire les informations clées (un identifiant par exemple).
Mais gros (?) problème, cette magouille, même si transparente pour l'utilisateur (le navigateur), renvoie une 404 et les robots risquent de ne pas aimer.
Donc j'ai décidé de passer au "vrai" URL rewriting avec les RegEx. J'y arrive plutôt bien (c'est moins compliqué que ça en a l'air) mais il y a quelque chose qui me chiffonne.
Si je tape dans mon navigageur
www.monsite.com/5_vive-les-fleurs.html
et que ma règle
RewriteRule ^([0-9]+)_[a-zA-Z0-9-]*\.html$ http://www.monsite.com/index.php?action=page&id=$1 [L]
est appliquée, j'obtiens dans la barre d'adresse :
www.monsite.com/index.php?action=page&id=5
...
Or moi je voudrais qu'il y ait toujours www.monsite.com/5_vive-les-fleurs.html !!!
Moults sites y arrivent très bien mais la seule méthode que je connaise pour cela consiste à avoir le contrôle sur DocumentRoot au sein d'Apache :
DocumentRoot "/srv/www/monsite/index.php"
Y a t'il un moyen quand on est en mutualisé ? Autrement dit : par le htaccess ?
Merciiiiii
Antoine
J'expérimente depuis peu quelques techniques d'URL rewriting pour mon site perso fait en PHP/MySQL et hébergé chez OVH en mutualisé.
Première technique testée : l'emploi du ErrorDocument dans le htaccess. Dans l'ensemble, c'est parfait : facile à mettre en oeuvre, fonctionne très bien, joie. Pour rappel :
On redirige les erreurs 404 vers un fichier. En l'occurence je l'ai redirigé sur mon index.php, qui va analyser l'URL et extraire les informations clées (un identifiant par exemple).
Mais gros (?) problème, cette magouille, même si transparente pour l'utilisateur (le navigateur), renvoie une 404 et les robots risquent de ne pas aimer.
Donc j'ai décidé de passer au "vrai" URL rewriting avec les RegEx. J'y arrive plutôt bien (c'est moins compliqué que ça en a l'air) mais il y a quelque chose qui me chiffonne.
Si je tape dans mon navigageur
www.monsite.com/5_vive-les-fleurs.html
et que ma règle
RewriteRule ^([0-9]+)_[a-zA-Z0-9-]*\.html$ http://www.monsite.com/index.php?action=page&id=$1 [L]
est appliquée, j'obtiens dans la barre d'adresse :
www.monsite.com/index.php?action=page&id=5
...
Or moi je voudrais qu'il y ait toujours www.monsite.com/5_vive-les-fleurs.html !!!
Moults sites y arrivent très bien mais la seule méthode que je connaise pour cela consiste à avoir le contrôle sur DocumentRoot au sein d'Apache :
DocumentRoot "/srv/www/monsite/index.php"
Y a t'il un moyen quand on est en mutualisé ? Autrement dit : par le htaccess ?
Merciiiiii
Antoine