Kent Posté 4 Mars 2008 Posté 4 Mars 2008 (modifié) Bonjour, je travail actuellement sur un projet. je souhaiterai avoir des urls du type suivant http://localhost/monsite/macategorie/mapage j'ai donc la règle suivante dans mon htaccess Options +FollowSymlinksRewriteEngine on# GeneralRewriteRule ^([a-z]+)/([a-z]+)$ /monsite/index.php?dossier=$1&page=$2 [L] Lorsque je fais ça , ça marche à peu près correctement, sauf que pour mon fichier css je suis obliger de mettre http://localhost/monsite/css/style.css dans le href de la balise link alors qu'avant je faisait juste "css/style.css" de plus les liens present sur mes pages sont concaténer avec la récriture d'url exemple si j'écris dans une page A le lien href="categorie2/page2" et que je suis dans la page http://localhost/monsite/categorie1/page3 le lien écrit me donnera /categorie1/categorie2/page2 au lieu de categorie2/page2 comme écrit dans la source Merci pour tout aide, j'aimeré réussir à réaliser une arborescence dans mes url pour faciliter la navigation de mes utilisateurs A noter que lorsque j'utilise autrechose que "/" pour séparer dans le htaccess tout fonctionne correctement peut-être crois-t'il que ce sont des dossier comment lui indiquer l'inverse ou la racine du site ? Modifié 4 Mars 2008 par Kent
Vap Posté 4 Mars 2008 Posté 4 Mars 2008 Lorsque je fais ça , ça marche à peu près correctement, sauf que pour mon fichier css je suis obliger de mettre http://localhost/monsite/css/style.css dans le href de la balise link alors qu'avant je faisait juste "css/style.css" de plus les liens present sur mes pages sont concaténer avec la récriture d'url exemple si j'écris dans une page A le lien href="categorie2/page2" et que je suis dans la page http://localhost/monsite/categorie1/page3 le lien écrit me donnera /categorie1/categorie2/page2 au lieu de categorie2/page2 comme écrit dans la source Merci pour tout aide, j'aimeré réussir à réaliser une arborescence dans mes url pour faciliter la navigation de mes utilisateurs A noter que lorsque j'utilise autrechose que "/" pour séparer dans le htaccess tout fonctionne correctement peut-être crois-t'il que ce sont des dossier comment lui indiquer l'inverse ou la racine du site ? Le comportement que tu as est normal. SI tu ne préfixe pas tes chemins par /, alors ce sont des chemins relatifs, à partir de la page courante. La page courante est l'adresse envoyée au serveur, pas l'adresse récrite par tes soins. Donc pour inclure ton css, met "/css/style.css". Pour tes liens, fais des liens de la forme "/categorie2/page2"
Kent Posté 4 Mars 2008 Auteur Posté 4 Mars 2008 (modifié) Bonjour, merci pour vos conseil (notamment à baulet en mp) Je pense que j'ai du raté quelque chose dans ma regex car ça ne fonctionne toujours pas tout fonctionne correctement avec un séparateur autre que "/" mais à partir du moment ou j'utilise celui-ci .... voici mon .htaccess RewriteBase /monsite/RewriteRule ^([a-zA-Z-\-]+)/([a-zA-Z-\-]+)$ /monsite/index.php?dossier=$1&page=$2 [L] à noter que le repertoire monsite se trouve dans le dossier www de wamp dans mon header j'ai mis comme vous me l'avez spécifier "/css/style.css" malheureusement ça ne change rien ensuite au niveau des liens j'ai mis "/categorie/page" au lieu de "categorie/page" ça me donne http://localhost/categorie/page au lieu de http://localhost/monsite/categorie/page j'ai aussi testé sans le RewriteBase en mettant "/monsite/css/style.css" j'ai le css ! pourquoi apache ne comprend pas que la racine de mon site n'est pas le dossier 3w mais le dossier www/monsite/ ? Je pense que le soucis vient de là non ? Merci pour tout aide supplémentaire. Modifié 4 Mars 2008 par Kent
Dan Posté 5 Mars 2008 Posté 5 Mars 2008 Rajoute tout simplement une balise <base href=....> dans tes fichiers. A cause de la réécriture, Apache croit (pour autant qu'il puisse croire quelque-chose) qu'il se trouve dans un autre répertoire
Vap Posté 5 Mars 2008 Posté 5 Mars 2008 Le comportement que tu as est normal. SI tu ne préfixe pas tes chemins par /, alors ce sont des chemins relatifs, à partir de la page courante. La page courante est l'adresse envoyée au serveur, pas l'adresse récrite par tes soins. Donc pour inclure ton css, met "/css/style.css". Pour tes liens, fais des liens de la forme "/categorie2/page2" J'avais loupé un truc. Mets: "/monsite/css/style.css" et "/monsite/categorie/page2/".
Kent Posté 6 Mars 2008 Auteur Posté 6 Mars 2008 Merci pour vos conseils, ça marche en développement j'espère que lorsque je mettrai le site en production je n'aurai pas de soucis
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant