[RESOLU] Url Rewritting

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Url Rewritting

Re: Url Rewritting

par moogli » 10 sept. 2013, 22:05

Modération :
Puisque ta question est résolue, je l'indique en cliquant sur le bouton "Mettre le sujet en tant que Résolu" pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.

Tu peux réaliser cette opération toi-même en cliquant sur le bouton vert situé en haut de la page à côté du titre, si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)

Re: Url Rewritting

par Despicable » 10 sept. 2013, 17:04

merci Moogli,
J'ai réussi un peu a modifier, pour arriver au résultat soouhaité.
Merci de tes explications détaillés ;)

A plus tard

Re: Url Rewritting

par Despicable » 10 sept. 2013, 17:02

Effectivement j'ai rajouté un autre paramètre, cela me faisait encore un conflit. J'ai donc modifier l'extension pour éviter cela. (J'en ai pas mis)
Je sais que cela est du bidouillage, mais je met le code pour les prochains ;)

Code : Tout sélectionner

RewriteEngine On RewriteRule ^([^/]*)\.$ /details.php?id=$1&titre=$2 [L] RewriteRule ^([^/]*)\.html$ /details_objets.php?Ressources=$1 [L]
Puis mon lien :
<li><?php echo"<a href=\"".$Mon_Resultat['Id_Articles']."-".$Mon_Resultat['Titre_Articles']."."."\">".$Mon_Resultat['Titre_Articles']."</a>";?></li>	
Biensur c'est que du bidouillage, mais ça évite le conflit pour ma part ;)
Encore merci à Moogli
A plus tard

Re: Url Rewritting

par moogli » 10 sept. 2013, 16:56

je vais plutôt t'expliquer ce que tu as pour que tu comprenne bien pourquoi ce que tu as fait ne peux fonctionner.

RewriteRule ^([^/]*)\.html$ /details_objets.php?Ressources=$1 [L]

- RewriteRule : déclaration d'une règle de ré écriture
- ^([^/]*)\.html$ expression régulière à satisfaire pour "activer" la règle
- /details_objets.php?Ressources=$1 : url à utiliser lorsque la règle est activée.
- [L] : doc => on s'arrête après l’exécution de cette règle


explication de l'expression régulière
^([^/]*)\.html => n'importe quoi qui finit par .html

donc ton 1er masque est "toujours" respecté et exécuté.

ce qu'il faut faire : différencier les différentes règle de réécriture.
dans ton cas tu peux te baser sur l'expression régulière (dans tous les cas d'ailleurs) sauf que la l'expression régulière pour l'id c'est ne contient que dès chiffres et pour le titre celle que tu as déjà fera l'affaire.
Il faut penser mettre la règle de réécriture pour les id avant la règle pour les titres.

@+

Re: Url Rewritting

par Despicable » 10 sept. 2013, 16:20

Bonjour,

Pourrais tu me donner un exemple stp, par exemple si je veux utiliser "Id_Articles" et "Titre_Articles"
Quelle serait le HT access, et quel serait le lien pour y parvenir.

Merci,
Despicable

Re: Url Rewritting

par moogli » 10 sept. 2013, 10:09

Salut, tu as deux masques identique pour deux règles différents cela ne peux pas fonctionner.

Je te conseil d'ajouter un bout de texte devant.
Par exemple
objet-xxx.html.
C'est parlant le masque peux être différents suivants le type de chose que tu souhaite afficher ;)


@+

Url Rewritting

par Despicable » 09 sept. 2013, 19:47

Bonjour toute le monde,
Je viens vous redemander aide et conseil.

J'utilise le URL writting pour avoir des url propres, jusqu' ici aucune problèmes.
Tout d'abord, j'ai une page "details_objets.php". J’accède a cette page avec le lien suivant :
<?php echo"<a  class='btn' href=\"".$Mon_Resultat['[color=#FF0000]Id_Objets[/color]'].".html"."\">En savoir +</a>";?>
Cela marche très bien.
Dans mon HT accessn j'ai cette réécriture

Code : Tout sélectionner

RewriteEngine On RewriteRule ^([^/]*)\.html$ /details_objets.php?Ressources=$1 [L]
Cependant, j'ai un petit problème.
Je voudrais aussi faire de l'URL Writtinf pour des autres pages
Donc j'ai crée une page "details.php" avec comme lien pour y accéder :
<?php echo"<a  class='btn' href=\"".$Mon_Resultat['[color=#FF0000]Id_Articles[/color]'].".html"."\">En savoir +</a>";?>
Dans mon ht access je rajoute donc une ligne pour la réécriture ce qui le donne comme HTACCESS Final

Code : Tout sélectionner

RewriteEngine On RewriteRule ^([^/]*)\.html$ /details_objets.php?Ressources=$1 [L] RewriteRule ^([^/]*)\.html$ /details.php?Ressources=$1 [L]
Je me doute que mon problème provient de l'HT ACCESS, et a vrai dire je suis un peu pomé, si vous pouviez m'aiguiller sur une solution
Cordialement,
Despicable