Problème UrlRewriting

Résolu
jiantox Messages postés 1092 Date d'inscription   Statut Membre Dernière intervention   -  
jiantox Messages postés 1092 Date d'inscription   Statut Membre Dernière intervention   -
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 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
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 1092 Date d'inscription   Statut Membre Dernière intervention   114
 
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 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
Essaye de le mettre dans le .htaccess oui
0
jiantox Messages postés 1092 Date d'inscription   Statut Membre Dernière intervention   114
 
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
A.Nonymous
 
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 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
Je ne sais même pas si le premier slash est indispensable.
0
jiantox Messages postés 1092 Date d'inscription   Statut Membre Dernière intervention   114
 
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 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
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 1092 Date d'inscription   Statut Membre Dernière intervention   114
 
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 1092 Date d'inscription   Statut Membre Dernière intervention   114
 
ç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