RewriteRule et dièse
Wishmaster7
-
Wishmaster7 -
Wishmaster7 -
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 !
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 !
A voir également:
- RewriteRule et dièse
- Diese 31 diese - Guide
- Appeler en inconnu ✓ - Forum Mobile
- Dièse sur mac ✓ - Forum MacOS
- Touche diese sur telephone ✓ - Forum Mobile
- Touche diese (#) - Forum Mobile
2 réponses
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?)
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?)
Les réécritures se font en 2 phases :
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
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