Bonjour,
Je fais une menu de navigation avec url rewrite. Le tout vient de la base de donnee. Le probleme est que si je code pas en "dur" dans le Htaccess tout va bien mais tout ce que j'ai en parametre url ne correspond pas des que je passe mes variables de ma requete.
En fait, j ai l impression qu il prend le parametre section pour le parametre url
Le parametre section est un array qui permet d inserer une page en fonction du nom de la section qui est gerer par le menu dont je poste la fonction.
Le parametre url est en fait, la reecriture d url qui est stockee et geree dans une base de donnees
Merci d avance de vos lumieres
David
Voici le code operationel:
Mon HTACCESS qui fonctionne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 $query = "SELECT parent,id_group,name_menu,url FROM menu WHERE lang='".$_SESSION['lang']."'"; $result = mysql_query($query); $categories = array(); while($row = mysql_fetch_array($result)) { $categories[] = array( 'parent_id' => $row['parent'], 'categorie_id' => $row['id_group'], 'name_menu' => $row['name_menu'], 'url_rewrite' => html_entity_decode($row['url'], ENT_NOQUOTES, "UTF-8") ); } function show_menu($parent, $level, $array){ $html = ""; $level_previous = 0; if(!$level && !$level_previous){ $html .= "\n<ul>\n"; } foreach ($array as $node){ if ($parent == $node['parent_id']){ if ($level_previous < $level) $html .= "\n<ul>\n"; $html .= "\t<li><a href=\"".$node['url_rewrite']."-".$_SESSION['lang']."\">".$node['name_menu']."</a>"; $level_previous = $level; $html .= show_menu($node['categorie_id'], ($level + 1), $array); } } if(($level_previous == $level) && ($level_previous != 0)){ $html .= "</ul>\n</li>\n"; }elseif($level_previous == $level){ $html .= "</ul>\n"; }else{ $html .= "</li>\n"; } return $html; } echo show_menu(0, 0, $categories);
Mon HTACCESS comme je voudrais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 RewriteRule ^(fr|en|kh)/website-building$ index.php section=website_building&url=website-pictura-crea&lang=$1 [L]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 RewriteRule ^(fr|en|kh)/(.*)$ index.php?section=$2&url=$2&lang=$1 [L]
Partager