rewriting qui fonctionne pas

Discussion dans 'URL Rewriting et .htaccess' créé par nile, 13 Avril 2018.

  1. nile
    nile WRInaute discret
    Inscrit:
    13 Avril 2007
    Messages:
    64
    J'aime reçus:
    0
    Salut, je tente ma chance avec un nouveau titre pour mon post puisque le premier apparemment est passé inaperçu :

    Mon code ne marche pas et je ne trouve pas le problème :

    RewriteCond %{QUERY_STRING} ^limite=([0-9]+)$
    RewriteRule ^monforum/permis-conduire.php?$ https://www.code-a-domicile.com/monforum/permis-conduire-forum-%1.html? [L,R=301]

    La réécriture fonctionne mais ça m'envoie sur une erreur 404. Une idée ?
     
  2. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    2 819
    J'aime reçus:
    1
  3. nile
    nile WRInaute discret
    Inscrit:
    13 Avril 2007
    Messages:
    64
    J'aime reçus:
    0
    Merci ortolojf mais ça ne fonctionne pas non plus.
     
  4. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    2 819
    J'aime reçus:
    1
    Rebonjour

    Finalement je me suis trompé c'est bien $1 et non pas %1.

    D'autre part, il me semble que c'est l'url source qui est virtuelle, et la cible réelle :

    Et pour conserver l'url virtuelle, ( url-rewritée ), il ne faut pas de 301.

    RewriteRule ^/monforum/permis-conduire-forum-([0-9]+).html? https://www.code-a-domicile.com/monforum/permis-conduire.php?limite=$1 [R]

    Celà redirige théoriquement l'url source vers l'url cible, avec prise en charge du paramètre.

    Il faut évidemment que l'url cible existe réellement.

    Le mieux pour s'en assurer, est de tester l'url cible directement.

    L'autre option, est de mettre le htaccess dans le répertoire /monforum/

    Respectueusement.
     
  5. nile
    nile WRInaute discret
    Inscrit:
    13 Avril 2007
    Messages:
    64
    J'aime reçus:
    0
    Bonjour,
    J'avais pensé au htaccess ds le dossier, mais je préfère un fichier commun. Merci pour les infos, je vais plancher dessus.
    Cdlt,