URL rewriting & slash

Résolu/Fermé
Rouzz Messages postés 14 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 8 juin 2010 - 3 juin 2010 à 16:32
 fbi - 16 juin 2017 à 00:10
Bonjour à tous !

Je sais qu'il y a déjà bon nombre de sujet là dessus mais aucune des solutions n'a été la bonne pour moi (ou alors j'ai fait une quelconque erreur =) )

Je dois créer un entrepôt de données avec OAI et dans mes spécifications l'url du client doit être http://www.monsite.com/user/toto

J'ai donc voulu passé par un url rewriting afin de récupérer "toto" dans une adresse comme http://www.monsite.com/user?name=toto
Rien de bien fou en soi.

Malheureusement le / pose un problème car il considère "user/" comme un repertoire.
Sur le net les solutions disent soit de passer au tiret (mais il faut que je respecte les spécifications) ou d'utiliser la balise <base>. Apparemment ça ne fonctionne pas chez moi.

Mon serveur est chez ovh et voici mon code :

Dans .htaccess

Options +FollowSymlinks
RewriteEngine on 
RewriteRule   ^user/(.+)$  /user.php?name=$1  [L]



Et voici ma page php

<?php
echo"<head>";
echo '<base href="http://www.monsite.com/" >';
echo "</head>";
echo "C'est l'utilisateur ".$_GET['name'];
?>



C'est vraiment simple au possible, mais j'ai besoin de savoir comment le faire fonctionner pour passer aux vrais traitements.

Si quelqu'un a une idée je suis preneur
Merci d'avance



1 réponse

Rouzz Messages postés 14 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 8 juin 2010 5
3 juin 2010 à 17:31
Résolu.

En réalité on ne peut pas mettre :
RewriteRule   ^user/(.+)$  /user.php?name=$1  [L]


S'il existe un fichier user.php ou un dossier user dans le répertoire courant alors il l'utilise et ne fait donc pas la règle.

J'ai donc changé par :
RewriteRule   ^test/(.+)$  /user.php?name=$1  [L]


Et là tout fonctionne parfaitement quand j'appelle http://monsite.com/test/toto

C'est une chose que je n'avais vu nul part sur le net, en espérant que cela aidera quelqu'un !
5
merci
0