pb de regle de réécriture

Discussion dans 'URL Rewriting et .htaccess' créé par ouiffi, 8 Février 2006.

  1. ouiffi
    ouiffi WRInaute discret
    Inscrit:
    28 Mars 2005
    Messages:
    92
    J'aime reçus:
    0
    Bonjour,
    Je souhaite faire fonctionner la règle ci dessous en distant:
    RewriteEngine on
    RewriteRule ^(.+)-formations-(.+)-([0-9]+).html$ formations.php?id_formation=$3

    afin qu'une page du type
    http://www.example.fr/fr-formations-Pro ... ge-17.html
    soit redirigées vers
    http://www.example.fr/formations.php?id_formation=17


    Cela fonctionne chez moi, mais le site distant est hébergé sur un serveur d'université qui n'autorise pas les htaccess (et les admin sont supers stricts donc je préfère m'adapter à eux plutot que le contraire) et qui va donc mettre la règle dans le fichier de conf mais voici sa réponse.

    "
    Je n'arrive pas à faire fonctionner la règle :
    RewriteRule ^(.+)-formations-(.+)-([0-9]+).html$ formations.php?id_formation=$3

    Par contre j'y arrive pour la règle :
    RewriteRule /(.+)-formations-(.+)-([0-9]+).html$ /formations.php?id_formation=$3
    "

    Comment puis-je faire fonctionner la 2nde regle en local avec le / au début ??? Merci de me guider. Je ne sais pas à quoi sert ce slash, mais ce qui est sur c'est que cela ne fonctionne pas.

    Merci d'avance.

    Julien
     
  2. mr_go
    mr_go WRInaute passionné
    Inscrit:
    21 Septembre 2005
    Messages:
    1 940
    J'aime reçus:
    0
    Options +FollowSymlinks
    RewriteEngine on
    RewriteBase /

    Essaye ca ;)


    Edit

    Rajoute => RewriteRule ^/
     
  3. ouiffi
    ouiffi WRInaute discret
    Inscrit:
    28 Mars 2005
    Messages:
    92
    J'aime reçus:
    0
    Où , comment , pourquoi, comment tester son action???
    Je ne comprends pas. désolé.
     
  4. mr_go
    mr_go WRInaute passionné
    Inscrit:
    21 Septembre 2005
    Messages:
    1 940
    J'aime reçus:
    0
    Code:
    Options +FollowSymlinks 
    RewriteEngine on 
    RewriteBase / 
    
    RewriteRule ^/(.+)-formations-(.+)-([0-9]+)\.htm$ /formations.php?id_formation=$3 
     
  5. ouiffi
    ouiffi WRInaute discret
    Inscrit:
    28 Mars 2005
    Messages:
    92
    J'aime reçus:
    0
    Sans comprendre j'ai essayé mais cela ne passe pas.


    Cette règle fonctionne (comme au départ)

    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^(.+)-formations-(.+)-([0-9]+).html$ formations.php?id_formation=$3


    Celle-ci que tu m'as fourni ne fonctionne pas

    Options +FollowSymlinks
    RewriteEngine on
    RewriteBase /
    RewriteRule ^/(.+)-formations-(.+)-([0-9]+)\.html$ /formations.php?id_formation=$3

    J'ai sûrement zappé qqchose...
     
  6. mr_go
    mr_go WRInaute passionné
    Inscrit:
    21 Septembre 2005
    Messages:
    1 940
    J'aime reçus:
    0
    C'est normal que la 1 fonctionne puisqu'elle fonctionnait déjà =D

    2 questions :

    - Le répertoire de ton .htaccess se trouve t il à la racine de ton site (en local) ?

    - Si oui, le fichier formations.php aussi ?
     
  7. ouiffi
    ouiffi WRInaute discret
    Inscrit:
    28 Mars 2005
    Messages:
    92
    J'aime reçus:
    0
    Mes 2 fichiers sont à la racine de mon site.

    Julien
     
  8. ouiffi
    ouiffi WRInaute discret
    Inscrit:
    28 Mars 2005
    Messages:
    92
    J'aime reçus:
    0
    Pour m'aider dans mon souci, quelqu'un peut il me dire comment faire fonctionner un htaccess en local avec le rewritebase ?
    Il doit bien y a voir une solution.
    Merci !
     
  9. mr_go
    mr_go WRInaute passionné
    Inscrit:
    21 Septembre 2005
    Messages:
    1 940
    J'aime reçus:
    0
    Code:
    Options +FollowSymlinks 
    RewriteEngine on 
    RewriteBase / 
    RewriteRule ^(.+)-formations-(.+)-([0-9]+)\.html$ /formations.php?id_formation=$3 
    Peut être...
     
  10. ouiffi
    ouiffi WRInaute discret
    Inscrit:
    28 Mars 2005
    Messages:
    92
    J'aime reçus:
    0
    on avance mais 2 soucis:

    1. la personne m'a dit qu'elle était obligé de mettre un / au début de la règle (je ne vois pas pourquoi mais bon...)

    2. avec la règle fourni, je suis bien redirigé vers la page formations.php mais il m'envoit à la racine du site serveur/formations.php au lieu de serveur/igr/site .

    j'ai tenté RewriteBase /igr/site/ , sans succès.
    The requested URL /formations.php was not found on this server.