url_rewriting : redirection vers un autre domaine

Nouveau WRInaute
Bonjour à tous,

voilà, je m'occupe de plusieurs sites qui ont chacun leur domaine, j'ai une arborescence du style :
pgsm (domaine www.pgsm-group.com)
index.php
- esgf (domaine www.esgf.com)
-- index.php
- esgi (domaine www.esgi.fr)
-- index.php
-- candidatures.php
- stats
-- stats.php

Quand on va sur www.esgi.fr pour le moment ça redirige vers www.pgsm-group.com/esgi/ car j'ai sur la page esgi/candidatures.php un lien vers ../stats/stats.php?form=candidature_ESGI.pdf donc vers http://www.pgsm-group.com/stats/stats.p ... e_ESGI.pdf
et mon soucis si je ne redirige pas c'est que j'ai un lien www.esgi.fr/stats/stats.php?form=candidature_ESGI.pdf qui n'existe pas...

Comment je peux faire grâce à l'URL Rewriting avec un fichier .htaccess dans le répertoire esgi pour que si le lien est www.esgi.fr/stats/stats.php?form=candidature_ESGI.pdf ça fasse www.pgsm-group.com/stats/stats.php?form ... e_ESGI.pdf ?

Merci ;)
 
WRInaute occasionnel
Si c'est juste pour une redirection,

Code:
Redirect /stats/stats.php http://www.pgsm-group.com/stats/stats.php
devrait faire l'affaire.
 
WRInaute occasionnel
Les paramètres sont conservés dans la redirection, sur mon Apache 2.0 en tout cas. Mais bon.

Le même en UR
Code:
RewriteRule ^stats/stats.php$ http://www.pgsm-group.com/stats/stats.php [R]

et avec les paramètres forcés
Code:
RewriteCond %{REQUEST_URI} ^/stats/stats.php$
RewriteRule .* %{QUERY_STRING} [C]
RewriteRule form=([^&\/]*) http://www.pgsm-group.com/stats/stats.php?form=$1 [R]
 
Nouveau WRInaute
J'ai bon regardé à plusieurs fois ces 3 lignes et je ne comprend pas pourquoi elle ne fonctionne pas :(
J'ai bien compris qu'il vérifiais si l'url demandé était /stats/stats.php jusque là OK mais après les 2 RewriteRule j'ai pas suivi tout a fait surtout le premier et le masque du deuxième.

Tout ceci pour dire que ça marche pas tel quel en tout cas :(

Merci encore de la patience ;)
 
WRInaute occasionnel
En relisant, on peut en fait simplifier

Code:
RewriteRule stats/stats.php$ %{QUERY_STRING} [C]
RewriteRule form=([^&\/]*) http://www.pgsm-group.com/stats/stats.php?form=$1 [R]

La première ligne remplace une URL stats/stats.php par sa chaine de paramètres, afin que l'on puisse travailler dessus à la ligne suivante. Le flag [C] indique que la deuxième ligne n'est prise en compte que lorsque la première est vérifiée.

La deuxième ligne cherche une chaine form=n'importe quel caractère sauf & et / , le & au cas où il y aurait d'autres paramètres, le / parce que mon système tient absolument à m'ajouter /stats.php après avoir traité la première ligne, donnant une chaîne qui ressemble à form=candidature_ESG.pdf/stats.php

Juste pour vérifier, mais tu as bien activé le rewriting dans ton .htaccess ? Genre ces deux lignes avant les règles?
Code:
RewriteEngine On
Options +FollowSymlinks
 
Nouveau WRInaute
Arf évidemment quand j'ai fait mon copier coller j'ai supprimer la ligne RewriteEngine On c'est pour ça que ça ne marchait pas mais là c'est que du bonheur merci bien ;)

@++
 
Discussions similaires
Haut