mod_rewrite et request_uri

Questions sur la configuration d'Apache, httpd.conf, et les différents modules.

Modérateur : Modérateurs

ermelir

mod_rewrite et request_uri

Messagepar ermelir » mar. 11 oct. 2011, 20:52

bonsoir à tous,

voila je vous explique mon problème:
je veux faire tourner un progiciel PHP qui se base sur le REQUEST_URI pour router les actions à réaliser.

c'est dans mon document root que se trouve mon progiciel.

Voici le schema des URLs que je peux avoir:

http://www.monsite.com/eu/fr/mapage.html
http://www.monsite.com/us/ca/mapage.html
http://www.monsite.com/eu/es/mapage.html

J'aimerais que toutes ces requetes soient redirigés vers le fichier index.php a la racine de mon document root mais en specifiant comme variable d'environnement les deux premiers path eu / us et fr/ca/es.
Pour ca, pas trop de soucis, j'ai réalisé les règles de réécriture suivantes dans le fichier .htaccess à la racine du document root

Code : Tout sélectionner

<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine on
     RewriteCond %{REQUEST_URI} ^/(eu|us)/(fr|es)/(.*)
     RewriteRule ./* /%3 [E=VAR1:%1_%2,L,PT]
</IfModule>

Mes deux problèmes sont les suivants:
Quand je demande http://www.monsite.com/eu/es/mapage.html par exemple, ma variable VAR1 est bien definie, mais pas comme VAR1 mais REDIRECT_VAR1. Est il possible qu'elle soit setté sur VAR1? D'ou vient ce REDIRECT_ devant ?

D'autre part, j'aurais aimé qu'une fois que ma redirection a été effectué, REQUEST_URI ne soit pas /eu/es/mapage.html mais /mapage.html. Parce que le framework que j'utilise se base sur REQUEST_URI et non pas sur REDIRECT_URL.

j'ai eu beau essayer tous les flags des RewriteRule, je n'ai pas reussi a faire ce que je voulais. Est ce possible?

Merci par avance pour votre aide.

Bien cordialement,

Revenir vers « Configuration »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invités