RewriteRule et dièse

Bonjour,

je début dans les ré-écritures d'URL et j'ai quelques questions simples. voici une première règle :

RewriteRule (?i)^news/([0-9]+)(/.*)?$ /news.php?id=$1#$1

pour ré-écrire un url du genre "/news/123/Bonjour.htm" en "/news.php?id=123#123"

mais le problème est que le dièse est considéré comme délimiteur de commentaire, et le $1 de fin de ligne n'est pas pris en compte. comment faire ?

avec la même règle, si le texte qui suit contient "%2F" , elle ne marche pas. exemple : "/news/123/Bonjour%2FAurevoir.htm" (%2F étant le urlencode de "/" ). comment se fait-il ?

dernière question au passage, j'ai remarqué que parfois il y a des notes du genre de celle-ci en fin de ligne :
[R=301,L]
quelqu'un aurait une URL de documentation sur comment configurer tout cela?

merci d'avance et à bientot !
Configuration: Windows XP
Firefox 2.0.0.11

2 réponses

  1. hello !

    merci pour les liens, ils vont vraiment beaucoup m'aider !

    concernant les deux premières questions... le RewriteCond n'est pas obligatoire, la RewriteRule seule fonctionne. Enfin presque, les deux petits détails que je mentionne ne passent hélas pas. si quelqu'un a une solution....

    note : pour le #, dans les tutoriels il est dit de l'escaper, je mets \# mais ça ne fonctionne toujours pas (erreur ailleurs dans la configuration?)
    1
    1. Les réécritures se font en 2 phases :
      RewriteCond %{QUERY_STRING} "/[A-Z]+ ([^ \#]*)\#.*$"
      RewriteRule ^.*$ %1 [L,R=301]
      


      La première (RewriteCond) pose la condition (avoir une correspondance entre un élément, ici la requête QUERY_STRING) et l'expression régulière.

      Le second où on indique comment on réécrit cette requête.

      [R=301,L] : R pour Redirect, 301 pour statut 301 (Move Permanently) et L pour indiquer d'arrêter les traitement de réécriture (L pour Last)

      Quelques références :

      URL Rewriting Guide (en anglais)
      http://httpd.apache.org/docs/2.2/misc/rewriteguide.html

      Tutoriel d'URL Rewriting (en français)
      https://g-rossolini.developpez.com/tutoriels/seo/reecriture-url/?page=sommaire
      0