grossss probleme de url rewriting

  • Auteur de la discussion Auteur de la discussion poulpa
  • Date de début Date de début
P
poulpa
Guest
Bonjour, j'ai lu tous les posts sur le forum concernant l'url rewriting et concernant mon probleme, je n'arrive pas a saisir la technique :(

Voila, j'essaie de faire un url rewriting avec postnuke sur differente query string de la forme:
1) modules.php?op=modload&name=News&file=index&catid=&topic=3&allstories=1
2) modules.php?op=modload&name=News&file=article&sid=33
3) modules.php?op=modload&name=News&file=index&catid=&topic=4&allstories=1
4) index.php?module=photoshare&func=viewallfolders
5) modules.php?op=modload&name=Contact_Us&file=index

J'ai essaye d'adapter tant bien que mal le script sur le site d'aquanuke pour postnuke a cette adresse: http://www.aquanuke.com/article358.html

Je n'y arrive pas :( je suis tjrs redirigee sur l'index :oops:

Je suis un peu desesperee et j'aimerais bien comprendre pour adapter le htaccess en fonction des 5 adresses differentes... si quelqu'un peut m'aider ca serait chouette...
 
A
Anonymous
Guest
Salut

Alors je ne sais pas trop si c'est pareil que pour phpnuke mais pour celui ci tu as un module qui s'appele google tap et qui devrait t'aider à le rewriter mais je ne sais pas du tout ce que cela vaut...Je ne l'ai pas essayé..

J'espere que cela t'aidera même un petit peu

:P +
 
WRInaute discret
Salut,

Tout d'abord sous quelle forme veux tu réécrire tes urls...

modules-modload-News-article-33.html

Car c'est à partir de là que tu pourras vraiment réaliser ton .htaccess
 
WRInaute discret
Voici un petit bout de htaccess pouvant t'interrésser... maintenant reste à voir si l'UR marche sur Nuke et chez ton hébergeur...

Code:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([a-z]+)-([a-z]+)-([a-z]+)-([a-z]+)-([0-9]+)-([0-9]+)\.html$  modules.php?op=$1&name=$2&file=$3&catid=$4&topic=$5&allstories=$6 [L]
 
P
poulpa
Guest
Merci à tous :wink:
en fait j'aimerai renommer mes urls en leur attribuant un nom commun (un mot clé quoi...)
Je vais tester le bout de code et je reviens à vous si j'y arrive toujours pas :cry:
 
WRInaute accro
voici comment j'url rewrite TOUS les modules de mon nuke (du moins ceux qui vont jusqu'a 3 variables...)

Code:
RewriteRule ^(.*)-(.*)-(.*)-(.*)-(.*)-(.*)-(.*).htm /modules.php?name=$1&$2=$3&$4=$5&$6=$7
RewriteRule ^(.*)-(.*)-(.*)-(.*)-(.*).htm /modules.php?name=$1&$2=$3&$4=$5
RewriteRule ^(.*)-(.*)-(.*).htm /modules.php?name=$1&$2=$3

:lol:
 
WRInaute accro
oops, pardon

exemple

3 var :arrow: http://www.madanight.com/Ads-op-ViewAds ... atg-13.htm
2 var :arrow: http://www.madanight.com/Evenement-file-agenda.htm

l'avantage c'est que l'on reconnait immediatement dans quel module on se trouve, alors que si l'on fait de multiples regles, 3 mois apres on est un peu paumé et obligé de visualiser systematiquement le .htaccess pour savoir qui fait quoi ;-) (les habitués sauront de quoi je veux parler)

a une variable, pour des raisons historique, ce n'est jamais quasiment jamais utilisé
:arrow: http://www.madanight.com/viewarticle_148.htm
 
P
poulpa
Guest
mahefarivony a dit:
Code:
RewriteRule ^(.*)-(.*)-(.*)-(.*)-(.*)-(.*)-(.*).htm /modules.php?name=$1&$2=$3&$4=$5&$6=$7
RewriteRule ^(.*)-(.*)-(.*)-(.*)-(.*).htm /modules.php?name=$1&$2=$3&$4=$5
RewriteRule ^(.*)-(.*)-(.*).htm /modules.php?name=$1&$2=$3

et c 'est la seulle chose que tu mets dans ton fichier .htaccess
Il ne faut rien rajouter de plus
c'est si simple ?
Je comprend pas :oops:
 
WRInaute accro
oui, ca suffit a couvrir tous les modules de phpnuke. en ce qui concerne les raisons historique, comme tout le monde, j'avais commencé par faire une ligne perso par module (une ou plusieurs lignes d'ailleurs, selon le nombre de parametres), google a indexé et reférencé les pages et a ce moment la il a été trop tard pour faire machine arriere (je tiens pas a m'embarquer dans des redirections aléatoires)

mais je maintiens que ces 3 lignes suffisent a gérer entierement les modules de phpnuke. Pour postnuke, je sais pas comment ca marche, ca devrait etre sensiblement la meme chose
 
P
poulpa
Guest
ok mais a priori ça marche pas pour postnuke. Je viens d'essayer
marche po
Personne ne l'a fait pour un postnuke ?
 
P
poulpa
Guest
J'ai vraiment tout essaye vos solutions et rien ne marche... Aucun effet sur postnuke. Est-ce quil faut necessairement faire une regle sur postnuke pour reecrire les liens? comme proposer sur l'article du site aquanuke. Je desespere vraiment! Personne n'a la solution pour 5 query string presente dan smon premier post?? SVP :)
 
A
Anonymous
Guest
mahefarivony a dit:
voici comment j'url rewrite TOUS les modules de mon nuke (du moins ceux qui vont jusqu'a 3 variables...)

Code:
RewriteRule ^(.*)-(.*)-(.*)-(.*)-(.*)-(.*)-(.*).htm /modules.php?name=$1&$2=$3&$4=$5&$6=$7
RewriteRule ^(.*)-(.*)-(.*)-(.*)-(.*).htm /modules.php?name=$1&$2=$3&$4=$5
RewriteRule ^(.*)-(.*)-(.*).htm /modules.php?name=$1&$2=$3

:lol:

Salut,

J'suis novice en url rewriting pour le moment je n'en ai pas l'utilité mais je me renseigne.
Donc tu veux dire Mahefarivony que tu n'as concernant l'url rewriting dans ton htaccess que ces 3 lignes de code pour un portail aussi important que phpnuke ?

Si c'est le cas chapeau c'est tres fort à toi ! je pensais que pour chaques liens il fallait écrire une ligne correspondante dans le htaccess mais je ne me suis jamais réellement penché sur la question...

:lol: +
 
WRInaute accro
ces 3 lignes suffisent a reecrire TOUS les modules (ceux qui sont en /modules.php? donc) de phpnuke... les news, web-link, topics, Stories..

mais ca il aurait fallu le savoir des le depart.. parce que moi je ne le savais pas et voici donc une partie de la tete de mon .htaccess

Code:
RewriteRule ^viewforum_([0-9]*).htm /modules.php?name=Forums&file=viewforum&f=$1 
RewriteRule ^madagascar-forum_([0-9]*)_([0-9]*).htm /modules.php?name=Forums&file=viewforum&f=$1&start=$2&topicdays=0
RewriteRule ^viewtopic_([0-9]*).htm /modules.php?name=Forums&file=viewtopic&t=$1
RewriteRule ^viewtopic_([0-9]*)_([0-9]*).htm /modules.php?name=Forums&file=viewtopic&t=$1&start=$2
RewriteRule ^viewpost_([0-9]*).htm /modules.php?name=Forums&file=viewtopic&p=$1
RewriteRule ^viewarticle_([0-9]*).htm /modules.php?name=News&file=print&sid=$1
RewriteRule ^viewsection_([0-9]*).htm /modules.php?name=Sections&op=listarticles&secid=$1
RewriteRule ^viewsectionarticle_([0-9]*).htm /modules.php?name=Sections&op=viewarticle&artid=$1
RewriteRule ^viewevenement_([0-9]*).htm /modules.php?name=Evenement&file=party&id=$1
RewriteRule ^hiragasymp3_([0-9]*)_([0-9]*).htm /modules.php?name=Web_Links&l_op=viewalllink&orderby=titleA&min=$1&show=$2
RewriteRule ^madagascar_([0-9]*).htm /modules.php?name=malagasy&func=$1
RewriteRule ^vieweditorial_([0-9]*).htm /modules.php?name=Messages&func=viewmessagedetail&id=$1
RewriteRule ^viewprofil_([0-9]*).htm /modules.php?name=Forums&file=profile&mode=viewprofile&u=$1 
RewriteRule ^viewprofil_([A-Z]*)_([0-9]*).htm /modules.php?name=Members_List&file=index&order=$1&start=$2
RewriteRule ^viewprofil_([A-Z]*)_([a-z]*)_([0-9]*).htm /modules.php?name=Members_List&file=index&order=$1&mode=$2&start=$3
RewriteRule ^madagascar-gallerie-photo_([0-9]*).htm /modules.php?name=eGallery&file=index&op=showgall&gid=$1
RewriteRule ^madagascar-gallerie-photo_([0-9]*)_([0-9]*).htm /modules.php?name=eGallery&file=index&op=showgall&gid=$1&offset=$2
RewriteRule ^madagascar-reportage-photo_([0-9]*).htm /modules.php?name=eReportage&file=index&op=showgall&gid=$1
RewriteRule ^madagascar-reportage-photo_([0-9]*)_([0-9]*).htm /modules.php?name=eReportage&file=index&op=showgall&gid=$1&offset=$2
RewriteRule ^madagascar-photo-([0-9]*).htm /modules.php?name=eGallery&file=index&op=showpic&pid=$1
RewriteRule ^madagascar-forum-actu_([0-9]*).htm /modules.php?&name=Forums&file=viewtopic&p=$1#$1
RewriteRule ^madagascar-forum-chat-([0-9]*).htm /modules.php?&name=Forums&file=viewtopic&p=$1#$1
RewriteRule ^madagascar-recette-malgache-([0-9]*).htm /modules.php?name=Content&pa=showpage&pid=$1
RewriteRule ^madagascar-categories-([0-9]*).htm /modules.php?name=News&file=categories&op=newindex&catid=$1
RewriteRule ^rubrique-madagascar-(.*).htm /modules.php?name=$1

donc le gros b..., le gros boxon, la jungle, des regles redondantes, on sait plus trop qui fait quoi... evidemment, il y avait derriere tout cela l'idée de gagner quelques places en choisissant des noms de fichier judicieux mais a posteriori, bof, bof, des pages moins bien nommés sont tout aussi bien placées alors...

et ouais ... tout cela aurait pu etre remplacé par 3 lignes.. :twisted:
 
A
Anonymous
Guest
Merci

Merci pour ta réponse...
Je crois que je vais essayer un peu l'url rewriting ce week end...
Avec ces précieuses info c'est bien l'occasion de s'y mettre.

Bon week end :D
 
WRInaute accro
Re: Merci

ametisse2 a dit:
Merci pour ta réponse...
Je crois que je vais essayer un peu l'url rewriting ce week end...
Avec ces précieuses info c'est bien l'occasion de s'y mettre.
Bon week end :D

ok, ca roule... ah oui, attention aux "expérimentations hasardeuses" comme dirait l'autre. Si tu mets en place un URL-rewriting, pas question de changer ce que tu as deja ecrit 2 jours auparavent et qui est en place.. car entre temps, le google est pt'et deja passé sur ton site. :wink:

@+
 
P
poulpa
Guest
Tout d'abord, merci pour votre aide et desole d'avoir creer un nouveau sujet (url rewriting... ca y est presque).

Bon cette fois-ci , ca y est presque. Mise a part pour 1 lien qui ne semble pas fonctionner.

Je m'explique...

J'ai un lien de la forme suivante:
Code:

/index.php?module=photoshare&func=viewallfolders

J'ai essaye d'appliquer la regle suivante qui fonctionne une fois mais lorsque je reclique sur le lien, toutes mes regles sont corrompues a cause de ce lien.
Code:

RewriteRule ^photos-(.*)-(.*)-(.*)-(.*)\.html$ /index.php?$1=$2&$3=$4 [L]

Je crois pas qu'apache applique des regles par priorite mais je me demande comment reussir ce petit tour de force. Voila! Si quelquun peut m'aider pour ces 2 regles ce serait sympa, J'essaie tjrs de comprendre pourquoi cette erreur survient apres le premier clique... Bizarre! Quelqu'un peut proposer? svppppp :D
 
WRInaute accro
la sequence des instructions a son importance ;-)

mets nous ici ce que tu as actuellement dans ton .htaccess et on t'aidera en fonction.
 
P
poulpa
Guest
Code:
RewriteEngine on
RewriteRule ^soc-(.*)-(.*).html /modules.php?op=modload&name=News&file=index&catid=$1&topic=$2&allstories=1  [L]


RewriteRule ^infos-(.*).html /modules.php?op=modload&name=News&file=article&sid=$1 [L]

RewriteRule ^photos-(.*)-(.*)-(.*)-(.*)\.html$  /index.php?$1=$2&$3=$4 [L]

La derniere ne fonctionne pas... C celle la qui fait planter toutes mes autres regles lorsque je clique dessus. En fait cet url est:

Code:
/index.php?module=photoshare&func=viewallfolders

Donc c'est celle ci qui m'embete! Merci d'avance a tous!
 
P
poulpa
Guest
Bon, j'utilise un postnuke donc j'ai applique des regles dans le header inspire par:
http://www.aquanuke.com/article358.html

Voila a quoi ressemble ma fonction dans postnuke:

Code:
function replace_for_mod_rewrite(&$s)
{
$in = array("'(?<!/)modules.php\?op=modload&name=News&file=index&catid=([0-9]*)&topic=([0-9]*)&allstories=1'" ,// Societe
"'(?<!/)modules.php\?op=modload&name=News&file=article&sid=([1-9]*)&mode=thread&order=0&thold=0'",
"'(?<!/)modules.php\?op=modload&name=News&file=article&sid=([1-9]*)'", // La plus grosse regle
"'(?<!/)modules.php\?op=modload&name=News&file=article&sid=([1-9]*)&([a-z]*)=([a-z]*)&([a-z]*)=([0-9]*)&([a-z]*)=([0-9])'", // pays des masques
"'(?<!/)index.php\?([a-z]*)=([a-z]*)&([a-z]*)=([a-z]*)'" // photos
);
$out = array(
"soc-\\1-\\2.html", // Societe
"pays-\\1.html",
"infos-\\1.html", // La plus grosse regle
"pays-\\1-\\2-\\3-\\4-\\5-\\6-\\7.html",
"photos-\\1-\\2-\\3-\\4.html" // photos
);
$s = preg_replace($in, $out, $s);
return $s;

}
Revoit plus haut le contenu de mon .htaccess. Comme je disais, la regle photo:
Code:
RewriteRule ^photos-(.*)-(.*)-(.*)-(.*)\.html$  /index.php?$1=$2&$3=$4 [L]

fait planter toutes mes autres regles (donc tous les liens reprennent la forme d'origine). Je reexplique. Lorsque je clique sur tous les autres liens, les regles precedentes fonctionnent tres bien sauf pour la derniere (photo). Lorsque je clique sur le lien, l'url prend la forme de ma regle! Si je reclique sur le lien, la regle ne s'applique pas et reprend la forme :

/index.php?module=photoshare&func=viewallfolders

Bon alors je vois pas pkoi! C'est mon probleme. Peut-etre que ma regle n'est pas bien ecrite ou sinon une des autres regles ne l'est pas non plus...
 
WRInaute accro
ok.. on peut voir le site ? et le lien qui bugge ?

mais sinon, pourquoi ne pas avoir repris la syntaxe des regles precedentes, ce qui donnerait

Code:
RewriteRule ^photos-(.*)-(.*)-(.*)-(.*).html  /index.php?$1=$2&$3=$4 [L]
 
P
poulpa
Guest
C'est un site en localhost et en cours de developpement! C'est pour ca que je n'ai jamais mentionne l'adresse du site ;) Est-ce que tu peux m'aider? :(
 
Nouveau WRInaute
Salut! Je cherchais un sujet semblable avec phpnuke cette fois-ci mais etant donne que postnuke et phpnuke se ressemble ca me plairait de savoir comment l'on peut reussir ce tour de force. Mahefarivony, tu as pas une piste plus clair pour ca?
 

➡️ 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