problème réécriture de /?p=page en /page

Discussion dans 'URL Rewriting et .htaccess' créé par Florian118, 2 Septembre 2006.

  1. Florian118
    Florian118 Nouveau WRInaute
    Inscrit:
    2 Septembre 2006
    Messages:
    2
    J'aime reçus:
    0
    Bonsoir,
    j'ai un site avec une page index.php à la racine qui inclut la page demandée dans le
    paramètre p, par exemple : /index.php?p=contact ou simplement /?p=contact.
    J'aimerais transformer ca en : /contact

    J'ai donc écrit dans .htaccess :
    Code:
    RewriteEngine on
    RewriteRule ^(\w+)$ ?p=$1
    Ca fonctionne parfaitement en local. Mais dès que j'y place sur le
    serveur, il me retourne une erreur 404 ou pire 500.
    J'ai essayé de :
    - remplacer \w par [a-z] (même si ce n'est pas équivalent) : aucun effet
    - remplacer \w par . ou \w+ par \w*: erreur 500 !
    - ajouter Options +FollowSymLinks (même si j'ai pas cerné l'intérêt)
    - ajouter [L] ou [QSA] (on sait jamais)
    - remplacer ?p= par /?p= ou index.php?p= ou /index.php?p= : aucun effet
    - etc...

    Je ne connais pas exactement la version d'Apache, mais je pense à Apache
    2. En local, j'ai la 2.0.58.

    J'ai lu ce que je pouvais sur l'URL rewriting, dont partie de la doc Apache, et je ne vois pas quelle requête effectuer à google pour un problème aussi vague.

    En attendant, j'ai placé

    RewriteRule ^liens$ ?p=liens
    RewriteRule ^contact$ ?p=contact
    RewriteRule ^recrutement$ ?p=recrutement
    etc...

    à la place, et ca dépanne.

    D'avance merci pour votre aide.
     
  2. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    81
    Code:
    RewriteRule   ^([^/]*)\$    /index.php?p=$1 [L]
    ou
    RewriteRule   ^([^/]*)\$    index.php?p=$1 [L]
     
  3. Florian118
    Florian118 Nouveau WRInaute
    Inscrit:
    2 Septembre 2006
    Messages:
    2
    J'aime reçus:
    0
    Merci, mais ca ne peut pas fonctionner si tu échappes le $.
    Code:
    RewriteRule ^([^/]*)$ index.php?p=$1 [L]
    fonctionne. Mais je ne comprends pas pourquoi. Du moment que la partie locale de l'URL ne contient pas de slash, ce code devrait être équivalent à ^(.*)$ non ? D'ailleurs, le dernier slash du nom de domaine appartient bien à la partie locale ? Dans ce cas, il faudrait écrire ^/([^/]*)$, ce qui ne fonctionne pas...
     
  4. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    81
    [^/]* prend tous les caractères sauf / dans le cas présent, ^(.*) prend tous les caractères y compris le /
    En fait certain serveur pointe directement derriere le / et le rajoute par defaut comme le tien, c'est super mal fait et ca fait doublon, donc soit tu marques l'url entiere, soit tu enlèves le / pour éviter le doublon.
    Pour le \$ je ne savais pas car je n'avais jamais tester, j'ai appris qq chose today!! perso je préfère laisser l'extension d'une manière générale pour ne pas embrouiller les surfers qui sont déjà assez noob comme ca.
     
Chargement...
Similar Threads - problème réécriture p=page Forum Date
Problème de réécriture d'url Développement d'un site Web ou d'une appli mobile 27 Février 2014
Problème de syntaxe en réécriture URL Rewriting et .htaccess 23 Octobre 2012
Problème de réécriture d'url. Je vois plus ou chercher URL Rewriting et .htaccess 14 Septembre 2012
Problème de réecriture d'URL .htaccess URL Rewriting et .htaccess 8 Août 2012
Problème de réécriture avec Arfooo URL Rewriting et .htaccess 20 Avril 2012
Problème de réécriture d'url =( URL Rewriting et .htaccess 28 Mars 2012
Problème réécriture et sous-dossiers URL Rewriting et .htaccess 3 Janvier 2012
Problème de réécriture sur un sous-domaine URL Rewriting et .htaccess 15 Septembre 2011
Problème classique de réécriture et de redirection 301 URL Rewriting et .htaccess 13 Avril 2011
problème réécriture avec un cms URL Rewriting et .htaccess 27 Avril 2010
Probleme réécriture lien ou.htaccess URL Rewriting et .htaccess 7 Mars 2010
Problème de réecriture d'url en local avec easyphp 3.0 URL Rewriting et .htaccess 29 Mars 2009
Problème de réécriture [RESOLU] URL Rewriting et .htaccess 27 Juin 2008
Problème réécriture URL Rewriting et .htaccess 30 Mai 2008
Problème de réécriture URL Rewriting et .htaccess 30 Novembre 2007
Réécriture d'url, problème Débuter en référencement 14 Novembre 2007
Problème réécriture d'une URL URL Rewriting et .htaccess 27 Juin 2007
Problème de réécriture d'url avec des parmètres URL Rewriting et .htaccess 27 Juin 2007
Problème de réécriture de lien URL Rewriting et .htaccess 7 Mars 2007
Probleme de réecriture URL Rewriting et .htaccess 4 Septembre 2006