A
Anonymous
Guest
Bonjour à tous,
J'essaie depuis deux jours bientôt de mettre en place un url rewriting sur un site sans pour autant réussir à faire quoi que ce soit de propre ... Je m'explique.
Mon site fonctionne actuellement autour d'un index unique, auquel je passe en argument d'adresse une variable page me permettant de localiser le visiteur dans le site. Jusque là, rien de folichons me direz vous, je suis d'accord.
Voici le format de ma variable page :
Où id_section, id_categorie et id_page correspondent aux trois niveaux de navigation du site, les deux 'autre_identifiant's sont des emplacements utilisés le cas échéants pour préciser des profondeurs supplémentaires - à l'intérieur d'un catalogue, d'une FAQ ou d'une galerie photo par exemple - et enfin id_langue qui me permet d'idientifier la langue utilisée par le visiteur pour parcourir le site.
Parce qu'une série de chiffres barbares n'est pas très parlante, j'aimerais pouvoir réécrire ces url sous la forme :
Sans AUCUNE id visible donc.
Pour cela, j'ai écris des scripts qui me permettent de générer à partir de ma base de données 5 fichier de map que je souhaiterai utiliser avec le mod_rewrite d'Apache et sa directive RewriteMap.
Travaillant sous Windows - au boulot -, je tente donc comme je vous le disais en introduction depuis deux jours de mettre en place des règles d'URL Rewriting sur un serveur WAMP - donc Apache2 -.
Et pour l'instant, le résultat est que mon serveur ne démarre pas :/
Voici le code que j'ai placé dans mon httpd.conf
Voici le contenu de httpd-rewrite.load
Et enfin le contenu du .htaccess se trouvant dans un sous-dossier du DocumentRoot - locamhost/site/ donc -
Quelqu'un saurait-il pourquoi je ne peux même plus lancer mon serveur ?
Le erreur.log est muet comme une tombe, quelque soit le LogLevel que je mette à Apache et j'avoue que je suis un peu perdu, et que je commence à me faire chauve :S
Merci d'avance - rien que pour avoir lu jusqu'ici -
J'essaie depuis deux jours bientôt de mettre en place un url rewriting sur un site sans pour autant réussir à faire quoi que ce soit de propre ... Je m'explique.
Mon site fonctionne actuellement autour d'un index unique, auquel je passe en argument d'adresse une variable page me permettant de localiser le visiteur dans le site. Jusque là, rien de folichons me direz vous, je suis d'accord.
Voici le format de ma variable page :
Code:
page=id_section;id_categorie;id_page;autre_identifiant;encore_un_autre_identifiant;id_langue
Parce qu'une série de chiffres barbares n'est pas très parlante, j'aimerais pouvoir réécrire ces url sous la forme :
Code:
monsite.fr/langue/nom-de-la-section/nom-de-la-categorie/nom-de-la-page--nom-de-l-entite.html
Pour cela, j'ai écris des scripts qui me permettent de générer à partir de ma base de données 5 fichier de map que je souhaiterai utiliser avec le mod_rewrite d'Apache et sa directive RewriteMap.
section.map pour les section,
categorie.map pour les categories,
page.map pour les pages,
langue.map pour les langues,
et entite.map pour les produits, les questions de la FAQ, les actualites, ...
Travaillant sous Windows - au boulot -, je tente donc comme je vous le disais en introduction depuis deux jours de mettre en place des règles d'URL Rewriting sur un serveur WAMP - donc Apache2 -.
Et pour l'instant, le résultat est que mon serveur ne démarre pas :/
Voici le code que j'ai placé dans mon httpd.conf
Code:
# URL Rewriting
Include conf/extra/httpd-rewrite.conf
Voici le contenu de httpd-rewrite.load
Code:
##### Map pour la résolution de l'URL Rewriting #####
# Liste les sections ($_page[0])
RewriteMap section txt:"c:/wamp/www/map/section.map"
# Liste les catégories ($_page[1])
RewriteMap categorie txt:"c:/wamp/www/map/categorie.map"
# Liste les pages ($_page[2])
RewriteMap page txt:"c:/wamp/www/map/page.map"
# Liste les langues ($_page[5])
RewriteMap langue txt:"c:/wamp/www/map/langue.map"
# Liste les entités ($_page[3])
# (maladies, produits, quizz, question de la FAQ, actualite, pages d'archive)
RewriteMap entite txt:"c:/wamp/www/map/entite.map"
Et enfin le contenu du .htaccess se trouvant dans un sous-dossier du DocumentRoot - locamhost/site/ donc -
Code:
##### URL Rewriting #####
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([a-z]{2})/$ index.php?page=0;0;0;0;0;${langue:$1|1} [QSA,L]
RewriteRule ^([a-z]{2})/([-a-z]*)/$ index.php?page=${section:$2|0};0;0;0;0;${langue:$1|1} [QSA,L]
RewriteRule ^([a-z]{2})/([a-z-]*)/([a-z-]*)/$ index.php?page=${section:$2|0};${categorie:$3|0};0;0;0;${langue:$1|1} [QSA,L]
RewriteRule ^([a-z]{2})/([a-z-]*)/([a-z-]*)/([a-z-]*)\.html$ index.php?page=${section:$2|0};${categorie:$3|0};${page:$4|0};0;0;${langue:$1|1} [QSA,L]
RewriteRule ^([a-z]{2})/([a-z-]*)/([a-z-]*)/--([a-z-]*)\.html$ index.php?page=${section:$2|0};${categorie:$3|0};0;${entite:$4|0;0};${langue:$1|1} [QSA,L]
RewriteRule ^([a-z]{2})/([a-z-]*)/([a-z-]*)/([a-z-]*)--([a-z-]*)\.html$ index.php?page=${section:$2|0};${categorie:$3|0};${page:$4|0};${entite:$5|0;0};${langue:$1|1} [QSA,L]
Quelqu'un saurait-il pourquoi je ne peux même plus lancer mon serveur ?
Le erreur.log est muet comme une tombe, quelque soit le LogLevel que je mette à Apache et j'avoue que je suis un peu perdu, et que je commence à me faire chauve :S
Merci d'avance - rien que pour avoir lu jusqu'ici -