URL rewriting de WRI

Nouveau WRInaute
Bonjour,

Etant nouveau sur le forum je vous souhaite du succès et une bonne continuation ! :wink:

J'aimerais savoir si WRI pouvait nous dire comment il a fait pour faire de l'URL rewriting sur le forum phpBB et pourquoi pas nous donner les sources qui permettent cela, il me semble que cela sera éfficace pour de nombreuses personnes qui utilisent le script. Ensuite j'aimerais savoir si vous connaissez de bonnes adresses qui renseignent sur l'url rewriting et surtout qui expliquent pas à pas coment mettre en place ce sytème.

Merci d'avance
{FLY}
 
Olivier Duffez (admin)
Membre du personnel
Bonjour et bienvenue sur ce forum !
Pour trouver une bonne adresse sur l'URL rewriting, j'espère que tu as regardé https://www.webrankinfo.com/dossiers/techniques/tutoriel-url-rewriting

Sinon mon forum comporte maintenant bcp trop de modif et de personnalisation pour que je le publie.
Il suffit de chercher tous les appels à la fonction append_sid pour transformer les liens.
Ensuite pour les règles de réécriture, elles sont très standard (et déjà données sur ce forum).

Bonne chance !
 
Nouveau WRInaute
Re bonjour,

Merci pour votre aide, j'ai terminé le codage de mon .htaccess et voici le résultat :

Code:
RewriteEngine on
RewriteRule ^index\-([a-z]+)\-([a-z]+)\.html$ index.php?rep=$1&page=$2

Plusieurs questions :

- Est-il possible d'avoir une variable avec des lettres et des chiffres ? Si oui comment faire ?

- Quand je fais un lien du type index-a-page.html ça marche mais quand j'ai un lien du style index--page.html si ma page est à la racine de mon site, il ne la trouve pas. Comment faire ?

Merci beaucoup :wink:
{FLY}
 
WRInaute occasionnel
Code:
RewriteEngine on 
RewriteRule ^index([\-a-z1-9]+)\-([\-a-z1-9]+)\.html$ index.php?rep=$1&page=$2
Avec une règle comme ca tu devrais pouvoir meler lettre chiffre et autant de tiret que tu veux.
J'ai tester pour le tiret pas pour les chiffres mais ca doit marcher...
 
WRInaute discret
tu as oublié le 0, ce serait donc:

RewriteRule ^index([\-a-z0-9]+)\-([\-a-z0-9]+)\.html$ index.php?rep=$1&page=$2

pour que tes parametres puissent etre vide tu peux remplacer le + par *

RewriteRule ^index([\-a-z0-9]*)\-([\-a-z0-9]+)\.html$ index.php?rep=$1&page=$2

mais fait tres attention avec ce genre de technique, si j'ai bien compris tu lis directement le fichier page dans le repertoire rep, si tu ne fais pas de systeme de protection n'importe qui pourra acceder a tes fichier en modifiant ces parametres :!:

Ben
http://www.sur-la-toile.com
 
H
hetzeld
Guest
{FLY} a dit:
- Quand je fais un lien du type index-a-page.html ça marche mais quand j'ai un lien du style index--page.html si ma page est à la racine de mon site, il ne la trouve pas. Comment faire ?
C'est parce que ta règle utilise [a-z]+ , le signe + signifiant "UN ou n".
Il suffirait de mettre [a-z]* , car * signifie "ZERO ou n" :wink:

Dan
 
H
hetzeld
Guest
RewriteRule ^index\-([a-z]+)\-([a-z]+)\.html$ index.php?rep=$1&page=$2
Il n'est pas utile de faire précéder les - du caractère d'échappement \ et tu rajoutes 0-9 pour les chiffres. Tu peux aussi rajouter A-Z pour les majuscules, si nécessaire

Avec les chiffres, ça donne:
Code:
RewriteRule ^index-([a-z0-9]*)-([a-z0-9]*)\.html$ index.php?rep=$1&page=$2

Garde tout de même à l'esprit que index--page.html fonctionnera mais ta variable rep restera indéfinie. Il faut donc la tester dans le code. L'utilisation de + est tout de même plus prévisible et souvent plus facile à débugger.

Dan
 
Nouveau WRInaute
si tu ne fais pas de systeme de protection n'importe qui pourra acceder a tes fichier en modifiant ces parametres

Un fichier de protection est chargé de dire oui ou non à l'inclusion d'une page, ce fichier est une liste de toutes les pages qui peuvent êtres affichées donc de ce côté pas de problème. Vous avez tous participé et je vous en remercie mais du coup je ne sais pas quoi retenir comme code. :lol: :wink:

Lequel est le plus optimisé ?

Question pour WebRankInfo :

Tu sais où se trouvent les URL's dans le forum phpBB ? J'aimerais faire un module URL rewriting mais il faut avoir le fichier contenant les URL's avant de s'y attaquer. :wink:
 
WRInaute impliqué
merci, j'ai effectivement reussi a le sauvegarder en .htaccess (en l'enresgristrant avec les guillmets) en local - en voici le contenu

Code:
Options +FollowSymlinks 
RewriteEngine on 
RewriteRule ^viewcat_([0-9]+)\.html$ viewcat.php?cat_id_foot=$1 [L]
RewriteRule ^viewcat_p_([0-9]+)\.html$ viewcat.php?cat_id_foot=$1&palmares=1 [L] 
RewriteRule ^viewtop5_([0-9]+)\.html$ viewtop5.php?top5_id=$1 [L]
RewriteRule ^viewtop5_p_([0-9]+)\.html$ viewtop5.php?top5_id=$1&palmares=1 [L]
RewriteRule ^userview_([0-9]+)\.html$ userview.php?user_id2=$1 [L]

mais lorsuqe je vais sur une page de mon site en local, j'ai une internatl server error.
ca vient d'ou ?
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut