qntoinOo Posté 8 Juillet 2004 Posté 8 Juillet 2004 Bonjours, Je j'ai lu votre article du le rewrite url mais je n'ai pas trouver solution a mon problème. J'aurais voulu savoir comment faire en sorte que les personne allant sur http://www.monsite.com/sonpseudo Rewrite l'url vers http://www.monsite.com/index.php?user=sonpseudo Je vous remercient d'avance pour votre aide.
Dan Posté 8 Juillet 2004 Posté 8 Juillet 2004 Bonjour qntoinOo, et bienvenue à bord du Hub ! Dans la mesure où ton hébergeur accepte la réécriture d'URLs (sans l'URL exacte il est difficile de le dire), une règle suffit pour ce faire: J'imagine que le pseudo varie, et peut contenir des caractères divers.... Il faut donc prévoir les cas de figures où la redirection ne devra pas se faire... Par exemple, il ne faudra pas rediriger http://www.monsite.com/index.php en http://www.monsite.com/index.php?user=index.php sinon tu te lances dans une boucle infinie. Deux approches sont possibles: soit tu listes de manière exhaustive TOUTES les URLs qui ne doivent pas être réécrites, comme par exemple index.php, soit on fait une règle qui teste si le fichier/répertoire existe, et dans ce cas ne réécrit rien. Une autre possibilité est de créer une page d'erreur 404 personnalisée, avec un script php qui fait une redirection. Pour ce faire, une simple directive Apache ErrorDocument suffit. Donnes-nous plus d'infos Dan
qntoinOo Posté 8 Juillet 2004 Auteur Posté 8 Juillet 2004 Coucou, Lors de l'inscription les membres ne peuvent y insérer que des caractère alphanumerique et la liste suivante : . - _ ^ La solution de tester si tel fichier/dossier existe me semble interessante (: Mais comment faire ?? Je te remercie d'avance (:
Dan Posté 8 Juillet 2004 Posté 8 Juillet 2004 Une réécriture conditionnelle permet de tester si un fichier existe ou non, par exemple: RewriteCond /document/root/%{REQUEST_FILENAME} !-fRewriteCond /document/root/%{REQUEST_FILENAME} !-dRewriteRule (.*) index.php?user=$1 [L] teste si le fichier demandé est un fichier ou répertoire réel, et dans la négative effectue une réécriture. Il faudra remplacer /document/root/ par le chemin du DOCUMENT_ROOT de ton site web. Sinon, tu as aussi la possibilité (plus simple) d'utiliser un script php qui sera appellé chaque fois qu'une page ne sera pas trouvée. ErrorDocument 404 /user.php Avec dans le fichier user.php, une analyse de la variable d'environnement $_SERVER['REQUEST_URI'] pour extraire le pseudo et le traiter. Dan
qntoinOo Posté 8 Juillet 2004 Auteur Posté 8 Juillet 2004 Voila les problème qui commence Donc j'ai d'abords commencer par voir mon phpinfo(); pour connaitre le l'adresse qu'il fallait mettre a la place de "/document/root/" Je regarde a DOCUMENT_ROOT je la mets dans le .htaccess Je upload le .htaccess malheureusement quand je vais sur http://www.zblogz.com 1- Les url définie dans le html on du être modifier 2- Tu pourra voir que quand je request la variable user elle me renvoie toujours index.php ( en allant sur http://www.zblogz.com/Dan par exemple ) Je comprends vrément pas (((
qntoinOo Posté 8 Juillet 2004 Auteur Posté 8 Juillet 2004 J'ai finalement trouver solution a mon problème. En me servant de l'article, de mets connaissance php et de ton idee pour les erreur 404 j'ai finalement reussi a faire ca Options +FollowSymlinksRewriteEngine on RewriteRule ^([0-9a-zA-Z-_^]+)$ index.php?user=$1 [L] j'ai par contre décide d'enlever le faite que les membres puisse mettre des "." dans leur pseudo car sinon le rewrite url aurait pris en compte tous les fichiers avec extension Voilà @+ sur le forum, je tiens aussi a remercier hub-webmaster qui est une communaute sympatique (:
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant