Signaler

URL rewriting & slash [Résolu/Fermé]

Posez votre question Rouzz 14Messages postés mercredi 3 octobre 2007Date d'inscription 8 juin 2010 Dernière intervention - Dernière réponse le 16 juin 2017 à 00:10 par fbi
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



Afficher la suite 
Utile
+4
plus moins
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 !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !