Problème UrlRewriting

Résolu/Fermé
jiantox Messages postés 1081 Date d'inscription mardi 30 septembre 2008 Statut Membre Dernière intervention 26 janvier 2019 - 5 juin 2012 à 10:00
jiantox Messages postés 1081 Date d'inscription mardi 30 septembre 2008 Statut Membre Dernière intervention 26 janvier 2019 - 16 juin 2012 à 10:55
Bonjour,

Suite à ce post : https://forums.commentcamarche.net/forum/affich-25238410-url-rewriting-et-faux-dossiers

je me retrouve qu'avec des erreurs 404.

je résume : j'ai des lien type http://truc.lesite.com/users/profil/?I=pseudo
et j'aimerais faire : http://truc.lesite.com/users/pseudo/profil/

J'ai placé ceci dans mon htaccess dans le dossier profil ( erreurs 404 ) puis dans le dossier users ( toujours erreurs 404 )..

RewriteRule ^/profil - [L]
RewriteRule ^/([^a-zA-Z0-9-]+)/profil/$ /profil/?I=$1 [L]
RewriteRule ^/([^a-zA-Z0-9-]+)/$ /?I=$1 [L] 


Comment faire pour que ceci fonctionne ?

Merci d'avance

4 réponses

Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
5 juin 2012 à 10:12
Hello,

Je pense que tes URL du type "http://truc.lesite.com/users/profil/?I=pseudo " ne sont pas des URL valides.

Il faut plutôt un truc du genre "http://truc.lesite.com/users/profil.php?I=pseudo "

Une variable ne se met pas directement dans un dossier.
0
jiantox Messages postés 1081 Date d'inscription mardi 30 septembre 2008 Statut Membre Dernière intervention 26 janvier 2019 114
5 juin 2012 à 11:28
bah ça passe parce que ça se met sur l'index.php qui est dans le dossier

lesite.com/users/profil/?I=pseudo = lesite.com/users/profils/index.php?I=pseudo

écrire le "index.php" est facultatif ( du moin dans la barre d'adresse, apres dans le htaccess je sais pas.. )
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
5 juin 2012 à 11:30
Essaye de le mettre dans le .htaccess oui
0
jiantox Messages postés 1081 Date d'inscription mardi 30 septembre 2008 Statut Membre Dernière intervention 26 janvier 2019 114
5 juin 2012 à 12:29
Toujours des 404, dans quel dossier il faut que je le mette exactement le htaccess

j'ai users/profil/(index.php)?I=pseudo ou users/fiche/(index.php)?I=pseudo
et j'aimerais users/pseudo/profil/ ou users/pseudo/fiche/

Merci encore
0
Le ^/users est nouveau.
Les RewriteRules doivent en tenir compte.

RewriteRule ^/users/profil - [L]
RewriteRule ^/users/([^a-zA-Z0-9-]+)/profil/$ /users/profil/?I=$1 [L]
RewriteRule ^/users/([^a-zA-Z0-9-]+)/$ /users/?I=$1 [L]

C'est au chemin relatif au domaine que ces règles sont comparées, pas au dossier en cours.

La directive RewriteBase pourrait être utilisée, mais ne sachant si d'autres RewriteRule existent, elle ne l'a pas été.
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
5 juin 2012 à 13:59
Je ne sais même pas si le premier slash est indispensable.
0
jiantox Messages postés 1081 Date d'inscription mardi 30 septembre 2008 Statut Membre Dernière intervention 26 janvier 2019 114
5 juin 2012 à 18:36
Bin ça dépend dans quel dossier est le .htaccess aussi non ?
avec juste profil/?I=pseudo je l'avais mis dans le dossier profil et j'avais une 404 quand meme :/
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
6 juin 2012 à 09:45
Si c'est dans le dossier "profil" il ne faut pas remettre le "profil" dans le .htaccess.
Les règles de réécriture s'appliquent sur ce qui suis le chemin du dossier dans lequel se trouve le .htaccess.
0
jiantox Messages postés 1081 Date d'inscription mardi 30 septembre 2008 Statut Membre Dernière intervention 26 janvier 2019 114
6 juin 2012 à 11:32
d'accord donc en gros je met le .htaccess dans le users/ et je calle plusieurs lignes pour remplacer le profil/?.. fiche/?..

j'essai ça cet aprem
0
jiantox Messages postés 1081 Date d'inscription mardi 30 septembre 2008 Statut Membre Dernière intervention 26 janvier 2019 114
16 juin 2012 à 10:55
ça ne fonctionne toujours pas, toujours une 404..

j'ai testé aussi en entrant l'url complète mais toujours rien :/

Quelqu'un saurais comment faire ?
0