Page 1 sur 2
(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 11:57
par gizmo78
Hôla!
Petite question je coince sur un point.
Objectif: faire du RewriteUrl en fonction d'un ID stocké dans un fichier.
Le Rewrite en fonction de l'id je sais faire:
RewriteCond %{HTTP:X-ID} ^123
RewriteRule .*
http://www.grifon.fr
Sauf que quand je veux rajouter la notion de parser le fichier je bloque.
j'ai essayé ca:
RewriteEngine On
RewriteMap id "txt:/etc/httpd/conf/id.txt"
RewriteCond %{HTTP:${id:$1}} ${id:%2}
RewriteRule .*
https://www.google.fr
id:$1 = X-ID
id:$2 = 123
Sauf que je me prends un jolie 403.
Une idée du soucis?
tout ca doit tourner uniquement avec apache et sous redhat.
Merci

(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 14:36
par Zedoune
pourquoi tu as id:$1 et id:%2 après ?
(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 14:39
par poulpito
spotted
(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 14:39
par gizmo78
ca spécifie la colonne j'imagine, pas trop d'explication dans ce que j'ai lu :/
poulpito: plait-il?
(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 14:41
par poulpito
il se présente comment ton fichier ?
(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 14:41
par gizmo78
X-ID 123
simple.
Mais après je suis pas sur d'utiliser la bonne technique :/
(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 14:42
par poulpito
back-references $N to the RewriteRule pattern
back-references %N to the last matched RewriteCond pattern
le $ / % pour Z
(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 14:45
par gizmo78
information intéressante merci

(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 14:48
par poulpito
donc il me semble que c'est bien $2 qu'il te faut et pas %2
(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 14:48
par Zedoune
tu peux écrire id:$2|valeur par défaut aussi
ça peut aider à débugger en mettant en dur les valeurs pour voir si ça va pas bien chercher les valeurs ^^
(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 14:49
par poulpito
ouaip $id2|666 pour faire plaisir à Z
(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 14:51
par gizmo78
poulpito: effectivement la coquille %/$ je l'ai déjà corrigée quand je l'ai vue.
Je test le coup du pipe

(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 14:51
par kalistyan
HS
Je n'y comprends absolument rien
@Giz Pour ma culture générale, quel est ton but ?
/HS
(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 14:54
par gizmo78
Z: j'ai testé et pareil, donc je pense qu'il y a quelque chose que je fais mal.
# Rewrite
RewriteEngine On
RewriteMap id "txt:/etc/httpd/conf/id.txt"
RewriteCond %{HTTP:X-ID} ${id:$1|123}
RewriteRule .*
https://www.google.fr
Kali: routé un utilisateur en fonction de son id pour une plateforme web
(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 15:36
par gizmo78
RewriteEngine On
RewriteMap id "txt:/etc/httpd/conf/id.txt"
RewriteCond %{HTTP:X-ID} ^($id|123)
RewriteRule .*
https://www.google.fr
ca, ca fonctionne. Par contre quand je retire le pipe, ca fonctionne plus, donc ca récupère rien au niveau du fichier....
bref ca avance
(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 16:19
par dsebire
les droits sur le fichiers sont OK ?
(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 16:21
par gizmo78
j'ai essayé à 2 endroits:
/var/www/html
/etc/httpd/conf
à chaque fois en root ou apache pas de changement.
(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 16:23
par Zedoune
il tourne en chroot ou pas ?
si oui ce serait un truc du genre /var/www/html/etc/httpd/conf/id.txt

(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 16:24
par gizmo78
je dirais non, en tout cas j'ai fais une installe de base de httpd sans rien toucher d'autre
(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 16:32
par gizmo78
Bon j'ai activé les logs du rewrite et voila le joli message:
RewriteCond: input='123' pattern='^($id:$1)' => not-matched
du coup ca risque pas de fonctionner

(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 16:43
par Zedoune
au lieu de $id faudrait pas écrire ${id} ?
(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 16:45
par gizmo78
pareil avec ${id:$1}:
RewriteCond: input='123' pattern='${id:$1}' => not-matched
en faite il interprète pas ce qu'il y a après le header
(résolu)Apache: rewrite et parse de fichier
Publié : mar. 13 sept. 2016 17:24
par gizmo78
ca avance:
http://www.gossamer-threads.com/lists/a ... ers/389659
donc le deuxième argument c'est uniquement un regex.
du coup, RewriteCond %{HTTP:X-ID},${id:$1} regex
a voir ce que je dois coller ^^
(résolu)Apache: rewrite et parse de fichier
Publié : mer. 14 sept. 2016 11:12
par gizmo78
la technique précédente n'est pas valable car y a pas de gestion de l'égalité.
Pourtant d'après le lien précédent, c'est possible mais je ne comprends pas comment.
J'ai essayé une autre technique:
Redirect "/"
https://www.google.fr
le in est la pour inclure une liste. Si je remplace la variable par '123', ca fonctionne.
Sauf qu'il interprète pas la variable et je bloque la dessus aussi
bref je me galère \o/
(résolu)Apache: rewrite et parse de fichier
Publié : mer. 14 sept. 2016 17:18
par gizmo78
apache abandonné ^^
Passage en python et en 1H ca juste marche
