|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||
|
Membre du Club
![]() Alexandre Dessinateur et webmaster Inscription : janvier 2005 Messages : 357 ![]() |
Bonsoir,
Je suis en train de travailler sur un exercice fort intéressant mais qui, pour le moment me soulève plus d'ennuis qu'autres choses. J'ai fais une arborescence suivante: Code :
Là où ça se complique ! C'est lorsque je veux placer des paramètres de page. J'ai commencer par faire un rewrite disant que le lien http://domaine/monsite/index.html fonctionne. Si je veux que http://domaine/monsite/index/2.html pointe sur http://domaine/monsite/index.php?id=2 j'arrive à une belle erreur 404 disant : Citation:
Code :
![]() Merci |
|||||
|
00
|
|
|
#2 | ||||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 695 ![]() |
Salut
Il aurait fallut poster du coté du forum Apache à mon avis. Parcourt le, il est très souvent question de réécriture. Faut voir ce que tu souhaite faire, car il y a une infinité de solutions si on peu dire. Citation:
Est ce : http://helium.com/bullecms/...etc... Et si on fait : http://www.helium.com/ tout court, est ce valide ? Ou encore : http://www.helium.com/bullecms/ est ce valide ? Code :
Dans cet exemple, seules les URLs .html seront prisent en compte, c'est pas dit que ça soit la meilleur solution, ce n'est qu'un exemple. Disons que selon ce que je comprends, le index.php serait le point d'entrée de toutes les pages html. Dans le jargon, le index.php est appelé boostrap si je ne dis pas de bêtises. Citation:
Le "index" serait incorrect, voir inutile, et le "2" serait plus un paramètre qu'une vrai réécriture, car il correspondrait à un ID de page. Pour faire court, tes URLs pourraient ce voir ainsi : .../domaine.com/bullecms/accueil.html -> .../domaine.com/bullecms/index.php?page=1 .../domaine.com/bullecms/contact.html -> .../domaine.com/bullecms/index.php?page=2 Tout l'art de la réécriture est donc de décortiquer ces URLs pour récupérer "accueil" ou "contact", ensuite retrouver l'ID de la page correspondante (1 ou 2, etc ...). D'ailleurs, regarde l'URL de ce forum pour ce topic, c'est à peu près le même principe, c'est le titre qui s'y trouve, et c'est presque certain qu'il correspond à un ID dans une table d'une Bdd. .../debuter/debutant-quelques-problemes-durl-relative-url-rewriting-htaccess/ Faut voir maintenant si tout ça correspond à ce que tu recherche.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||||
|
|
00
|
|
|
#3 | |||||||
|
Membre Expert
![]() ![]() |
Bonjour,
Je suis de même avis que RunCodePhp pour mettre ce post dans la partie Apache du forum. Je pense qu'il y avait une mauvaise interprétation de la première règle. Citation:
Code :
Code :
Mais en l'occurrence, tu ne disposes que d'une seule capture dans le pattern. Je pense (à partir de ce raisonnement), qu'il va falloir modifier la règle comme suit: Code :
Bien cordialement,
__________________
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici nous avons réuni théorie et pratique: Rien ne fonctionne ... et personne ne sait pourquoi! Albert Einstein |
|||||||
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Alexandre Dessinateur et webmaster Inscription : janvier 2005 Messages : 357 ![]() |
Pour ce qui est du mauvais placement dans le forum, au mieux on peux le déplacer dans la bonne section.
Pour la question helium, c'est un serveur local donc je n'ai pas de www.helium.com du moins pas pour mes developpements. Mais ça peut faire parti des erreurs. Ce matin même j'ai essayer des choses et il y a eu des résultats étranges. Si je fais un lien <a href="index.php">index</a> tout fonctionne car c'est une adresse relative. Mais si j'ai le malheur, sans utiliser de fichier htaccess de mettre <a href="/index.php">index</a> qui est une adresse absolue, ça plante en une jolie page blanche. Donc la je soupçonne appache de ne pas faire correctement son travail. Pourquoi ? Je n'en sait pour le moment rien
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : août 2005 Messages : 8 273 ![]() |
Il y a quoi dans ton .htaccess, maintenant (donne tout le contenu du fichier, s'il te plaît) ?
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Alexandre Dessinateur et webmaster Inscription : janvier 2005 Messages : 357 ![]() |
Je suis en train de refaire à 0 ce fichier puis-que:
1) Quand je fais un pointage vers un fichier en require_once(), j'ai une URL de la forme absolu /var/www/bullecms/engine/moteur.inc 2) Quand je fais un appel dans mon template à un fichier css je me retrouve avec une URL absolu de la forme templates/exilience/mentions.css 3) Quand je crée un lien en absolu toujours, j'écris <a href="/bullecms/index.php">index.php</a><br /> Constatation, sans parlé de htaccess, au sein même d'une simple page, pour aller cherché des fichiers et m'y référé, j'ai 3 types d'url différentes et srtiut de racine différente. Donc mon problème se porte la ! Pourquoi, alors que je suis dans un même fichier, pour accéder à tel ou tel fichier je ne peux pas employer la même racine ? Quand j'aurais réussi à combler cette horrible chose, nous re parlerons htaccess. Merci |
|
00
|
|
|
#7 | ||||
|
Membre du Club
![]() Alexandre Dessinateur et webmaster Inscription : janvier 2005 Messages : 357 ![]() |
J'ai un élément de réponse
Le problème se situerais dans l'emploie de virtualhost. Je m'explique. A la racine de mon serveur www donc, j'ai plusieurs sites. Tout se passait bien cr j'étais en url relative. Pour des besoins de stabilités, je suis obliger aujourd'hui de passé en url absolu. A la suite de recherches, je me suis vue lire que le problème pouvais être au niveau du virtualhost. Seulement voila pouvons nous écrire ces deux fichiers qui suivent ? Fichier bullecms Code :
Code :
Merci |
||||
|
00
|
|
|
#8 |
![]() ![]() Inscription : août 2005 Messages : 8 273 ![]() |
Tes ServerAlias sont incorrects : tu ne peux y mettre qu'un nom, pas de chemin, donc :
sauf que ça te ferait 2 VH avec le même ServerAlias. Dans ce cas, Apache ne prendra en compte que l'un des deux : le premier des deux qu'il trouvera. Ce que tu cherches à faire ne se paramètre pas avec des ServerAlias mais des Alias qui permettent de mapper des chemins d'URL sur des répertoires (qui ne sont généralement pas dans le document root). Je n'ai pas suivi toute la discussion mais il me semble qu'avec les (Server)Alias, nous sommes assez loin de la demande initiale d'URL rewriting Tu peux reformuler la demande ?Pour info, <a href="index.php"> et <a href="/index.php"> sont toutes les deux des URL relatives
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Alexandre Dessinateur et webmaster Inscription : janvier 2005 Messages : 357 ![]() |
Et beh,
Plus j'avance plus j'ai l'impression que c'est le Mer**** ! Si je résume, au départ le but étais avec un simple htacces de faire en sorte que toutes pages d'un même site pointe sur l'index.php du même site. La ou ça c'est compliqué c'est que selon que je sois en développement interne ou externe, je n'ai plus les mêmes liens ! Le chemin relatif est donc la meilleure solution, sauf que bizarrement au sein même d'une même page, je me retrouve pour le même répertoire à utilisé trois types d'url ! Il y a donc un réel souci de fonctionnement et de partage des données au sein même d'un même serveur. Toujours pour résumé. Afin qu'Apache2 sache quoi faire, j'ai voulue y ajouter des virtualhost qui semble faire pointer au bon endroit, mais en réalité toujours le même. Du coup mes autres sites locaux ne sont plus disponible ! Alors je patauge ! Je ne sait plus quoi faire ni qui croire ! Faire un serveur par site me reviendrais beaucoup trop chère, il faut que je gère l'interne mais aussi l'externe sur plusieurs site. Au moins quand j'utilisai des URL relative je n'avais aucun soucis. Là je tourne en rond et j'ai pas l'impression d'avancer. |
|
00
|
|
|
#10 |
![]() ![]() Inscription : août 2005 Messages : 8 273 ![]() |
Si j'ai bien compris, l'environnement de développement et de production sont sur le même serveur ?
Si c'est le cas, pour ce que tu veux faire, les hôtes virtuels sont une bonne solution à condition bien entendu de les configurer comme il faut, donc avec 2 noms différents pour chacun d'eux, avoir mis les NameVirtualHost qui vont bien (dans ton cas, il faut mettre NameVirtualHost *:80 quelque part dans ta conf Apache) et que le contenu des document roots des deux VH soient les mêmes. S'il faut que tu rajoutes un répertoire (http://dev.com/repertoire_en_plus/) dans ton URL, c'est raté : dans ce cas, c'est certain que tu auras des problèmes de chemins relatifs en passant d'un environnement à l'autre. Sinon, tu patauges, certes, mais sans donner plus de détails, notamment ta configuration Apache et tes .htaccess, on ne peut pas beaucoup t'aider plus.
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() Alexandre Dessinateur et webmaster Inscription : janvier 2005 Messages : 357 ![]() |
Alors voila,
Depuis quelques jours maintenant j'ai trouvé une parade simple. Je travail directement comme si j'étais en affichage en ligne. Donc ça reviens plus qu'à un seul virtualhost. Toutefois, je vais me prendre un nom de domaine qui permettra de faire la différence entre helium (interne) et www.sousdomaine.nomdedomaine.fr qui lui permettra la mise en ligne. J'aurais donc deux VH différents. Merci |
|
00
|
Copyright © 2000-2012 - www.developpez.com