Htaccess

Bonjour,

J'ai copié/collé et adapté un code Apache pour la gestion des réécritures d'URL, mais je ne comprends pas trop comment cela fonctionne. Les tutos ne sont pas assez précis pour ça...

Voici mon code:


Options +FollowSymLinks
RewriteEngine on
RewriteBase /

RewriteRule ^([a-zA-Z0-9-@]+)?/?([a-zA-Z0-9-@]+)?/?([a-zA-Z0-9-@]+)?/?([a-zA-Z0-9-@]+)?/?$ index.php?page=$1&data=$2&niv3=$3&niv4=$4 [L]


Il fonctionne très bien, mais les anciennes url du type "monsite.com/?email=ccm@monsite.com&login=fetide68" ne fonctionnent plus.

J'aimerais bien cependant que ce soit possible.
J'imagine que pour le référencement, il vaut mieux éviter, donc je souhaiterais que dans certains cas, ce soit possible:

monsite.com/login/?param=value&param=value...

Merci d'avance.

1 réponse

  1. Contributeur
    Hello,

    Est-ce que tu peux décrire simplement ce que tu souhaites faire en partant de la situation A vers la situation B ?
    Je te donnerai le bon code.

    Merci,

    1. Bànjour,

      J'aimerais permettre d'utiliser à la fois:
      monsite.com/login
      et
      monsite.com/?page=login

      L'idéal serait qu'il soit possible d'avoir ces 2 types d'url seulement pour les pages "login"
      Pour le reste le passages de GET se ferait en "url rewriting":
      monsite.com/contact

      Car j'imagine que permettre d'accéder à la même page via les 2 url cités plus haut peut nuire au référencement (contenu duppliqué) ?

      Merci.
    2. Contributeur
      @Fetide68Salut,

      Aucun risque de contenu dupliqué sur des pages de login ;-)

      Une 301 de tonsite.com/login vers tonsite.com/?page=login ou l'inverse ferait l'affaire. Les 2 urls seraient valables (même si l'une renverrait vers l'autre).
      Serait-ce bon pour toi ?

      Dans ce cas :
      <IfModule mod_rewrite.c>
      RewriteEngine On
      Redirect 301 /?page=login /login

      </IfModule>
    3. @Kivin2003Bonjour,

      J'ai testé et ça ne fonctionne pas vraiment (j'ai mi ce code à la fin)...

      En fait, je voudrais permettre le passage d'autres paramètres sur la page login:

      site.com/login?email=email@mail.com&variable1=valeur1&variable2=valeur2

      Pour rappel, voici le code actuel complet de mon htaccess:


      Options +FollowSymLinks
      RewriteEngine on
      RewriteBase /

      ErrorDocument 404 /404.php

      RewriteRule ^([a-zA-Z0-9]+)?/?([a-zA-Z0-9]+)?/?([a-zA-Z0-9]+)?/?([a-zA-Z0-9?]+)?/?$ index.php?page=$1&data=$2&niv3=$3&niv4=$4 [L]