.ht access

Résolu
Bonjour,

Je tente de faire de l'url rewriting, ça fonctionne pour la plupart de mes adresses, mais pas pour d'autres.
Voici la règle qui ne fonctionne pas:

RewriteRule ^Where-([a-z]*),What-([a-z]*),Referer-([.]+)$  /projects/secretExhibition/index.php?root=$1&branch=$2&referer=$3 [L]


Il se trouve que la version précédente de cette règle fonctionne:

RewriteRule ^Where-([a-z]*),What-([a-z]*)$  /projects/secretExhibition/index.php?root=$1&branch=$2 [L]


J'ai besoin de pouvoir identifier des caractères alphanumériques pour ma règle qui ne fonctionne pas, mais j'ai l'impression de ne pas trouver l'expression qui convient.

quelqu'un a t il une idée?

cordialement,

Smoke
Configuration: Windows Vista
Opera 9.80

14 réponses

  1. Essaye sans les crochets :
    RewriteRule ^Where-([a-z]*),What-([a-z]*),Referer-(.+)$  /projects/secretExhibition/index.php?root=$1&branch=$2&referer=$3 [L]
    1. J'ai n'ai plus d'autre idée que celle-ci :
      As-tu mis RewriteEngine On :)
      1. en fait, voici mon htaccess complet :)

        ErrorDocument 404 /error.php
        
        Options +FollowSymlinks
        
        RewriteEngine on
        RewriteRule ^PersonnalSpace$  /projects/secretExhibition/index.php [L]
        RewriteRule ^Where-([a-z]*),What-([a-z]*)$  /projects/secretExhibition/index.php?root=$1&branch=$2 [L]
        RewriteRule ^Where-([a-z]*),What-([a-z]*),Referer-(.+)$  /projects/secretExhibition/index.php?root=$1&branch=$2&referer=$3 [L]
        RewriteRule ^Where-([a-z]*),What-([a-z]*),Third-(\w*)$  /projects/secretExhibition/index.php?root=$1&branch=$2&third=$3 [L]
        RewriteRule ^Where-([a-z]*),What-([a-z]*),Third-(\w*),Referer-(\w*)$  /projects/secretExhibition/index.php?root=$1&branch=$2&third=$3&referer=$4 [L]
        1. Essaye celui-ci :
          ErrorDocument 404 /error.php
          
          Options +FollowSymlinks
          
          RewriteEngine on
          RewriteRule ^PersonnalSpace$  /projects/secretExhibition/index.php [L]
          RewriteRule ^Where-([a-z]*),What-([a-z]*)(,Third-(\w*))?(,Referer-(\w*))?$  /projects/secretExhibition/index.php?root=$1&branch=$2&third=$3&referer=$4 [L]


          Quand un élément est facultatif (peut apparaître 0 ou 1 fois), entoure-le par des parenthèses et ajoute le signe "?" après la dernière parenthèse.
          1. pas mal ça :) ça fonctionne presque, mais ça choisit soit third soit referer, alors que parfois j'ai third suivi de referer, et là ça fonctionne plus, ça ne transmet plus referer. Par contre, avec board, branch et referer, ça n'y change rien :s
            1. Petit oubli : j'ai ajouter des parenthèses alors il faut changer les variables.
              ErrorDocument 404 /error.php
              
              Options +FollowSymlinks
              
              RewriteEngine on
              RewriteRule ^PersonnalSpace$  /projects/secretExhibition/index.php [L]
              RewriteRule ^Where-([a-z]*),What-([a-z]*)(,Third-(\w*))?(,Referer-(\w*))­?$  /projects/secretExhibition/index.php?root=$1&branch=$2&third=$4&referer=$6 [L]
              1. tenté et échoué :s :(.... je pense qu'on peut diviser les expressions, vu que chez moi la plupart d'entre elles fonctionnent, mais pas toutes, et pas dans tous les contextes :s.
                1. solution trouvée!

                  en fait, mes masques sont trop restrictifs. Ne connaissant pas bien le langage pour le htaccess (vu que je me penche dessus^^) je me suis inspiré de codes trouvés à droite à gauche.

                  L'erreur se situe sur le masque [a-z], qui bien évidemment n'accepte que les lettres en minuscule. Un (\w*) fait amplement l'affaire :) et me permet de récupérer des chaînes avec des majuscules.

                  Merci avion-f16 d'avoir cherché avec moi et d'avoir bien voulu te pencher sur mon problème, ça m'a permi de pas me décourager ;)