(résolu)Apache: rewrite et parse de fichier

gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Apache: rewrite et parse de fichier

Message 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 :)
Avatar de l’utilisateur
Zedoune
Messages : 15343
Inscription : ven. 12 janv. 2018 17:44

(résolu)Apache: rewrite et parse de fichier

Message par Zedoune »

pourquoi tu as id:$1 et id:%2 après ?
Avatar de l’utilisateur
poulpito
Messages : 12402
Inscription : ven. 12 janv. 2018 17:44
Localisation : Grenoble

(résolu)Apache: rewrite et parse de fichier

Message par poulpito »

spotted :D
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Apache: rewrite et parse de fichier

Message par gizmo78 »

ca spécifie la colonne j'imagine, pas trop d'explication dans ce que j'ai lu :/

poulpito: plait-il? :D
Avatar de l’utilisateur
poulpito
Messages : 12402
Inscription : ven. 12 janv. 2018 17:44
Localisation : Grenoble

(résolu)Apache: rewrite et parse de fichier

Message par poulpito »

il se présente comment ton fichier ?
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Apache: rewrite et parse de fichier

Message par gizmo78 »

X-ID 123

simple.

Mais après je suis pas sur d'utiliser la bonne technique :/
Avatar de l’utilisateur
poulpito
Messages : 12402
Inscription : ven. 12 janv. 2018 17:44
Localisation : Grenoble

(résolu)Apache: rewrite et parse de fichier

Message par poulpito »

back-references $N to the RewriteRule pattern
back-references %N to the last matched RewriteCond pattern

le $ / % pour Z
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Apache: rewrite et parse de fichier

Message par gizmo78 »

information intéressante merci :)
Avatar de l’utilisateur
poulpito
Messages : 12402
Inscription : ven. 12 janv. 2018 17:44
Localisation : Grenoble

(résolu)Apache: rewrite et parse de fichier

Message par poulpito »

donc il me semble que c'est bien $2 qu'il te faut et pas %2
Avatar de l’utilisateur
Zedoune
Messages : 15343
Inscription : ven. 12 janv. 2018 17:44

(résolu)Apache: rewrite et parse de fichier

Message 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 ^^
Avatar de l’utilisateur
poulpito
Messages : 12402
Inscription : ven. 12 janv. 2018 17:44
Localisation : Grenoble

(résolu)Apache: rewrite et parse de fichier

Message par poulpito »

ouaip $id2|666 pour faire plaisir à Z :D
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Apache: rewrite et parse de fichier

Message par gizmo78 »

poulpito: effectivement la coquille %/$ je l'ai déjà corrigée quand je l'ai vue.

Je test le coup du pipe :jap:
kalistyan
Messages : 14259
Inscription : ven. 12 janv. 2018 17:44
Localisation : LYON
Contact :

(résolu)Apache: rewrite et parse de fichier

Message par kalistyan »

HS

Je n'y comprends absolument rien :pt1cable:

@Giz Pour ma culture générale, quel est ton but ? :jap:

/HS
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Apache: rewrite et parse de fichier

Message 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

gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Apache: rewrite et parse de fichier

Message 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
Avatar de l’utilisateur
dsebire
Messages : 13158
Inscription : ven. 12 janv. 2018 17:44
Localisation : Loiret - entre la ville et les champs

(résolu)Apache: rewrite et parse de fichier

Message par dsebire »

les droits sur le fichiers sont OK ?
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Apache: rewrite et parse de fichier

Message par gizmo78 »

j'ai essayé à 2 endroits:
/var/www/html
/etc/httpd/conf

à chaque fois en root ou apache pas de changement.
Avatar de l’utilisateur
Zedoune
Messages : 15343
Inscription : ven. 12 janv. 2018 17:44

(résolu)Apache: rewrite et parse de fichier

Message par Zedoune »

il tourne en chroot ou pas ?
si oui ce serait un truc du genre /var/www/html/etc/httpd/conf/id.txt :P
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Apache: rewrite et parse de fichier

Message par gizmo78 »

je dirais non, en tout cas j'ai fais une installe de base de httpd sans rien toucher d'autre
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Apache: rewrite et parse de fichier

Message 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 :)
Avatar de l’utilisateur
Zedoune
Messages : 15343
Inscription : ven. 12 janv. 2018 17:44

(résolu)Apache: rewrite et parse de fichier

Message par Zedoune »

au lieu de $id faudrait pas écrire ${id} ?
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Apache: rewrite et parse de fichier

Message 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
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Apache: rewrite et parse de fichier

Message 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 ^^
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Apache: rewrite et parse de fichier

Message 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 :D

bref je me galère \o/
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Apache: rewrite et parse de fichier

Message par gizmo78 »

apache abandonné ^^

Passage en python et en 1H ca juste marche :)
Répondre