Bonjour à tous,

J’ai un petit souci avec la réinscription de mon url.
Merci de bien vouloir m’éclairer

Voici le code source :
-------------------------
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
################# text et boutons level 1 ##################################################
 
// Initialiser la mise en tampon de la sortie standard
ob_start();
 
################################# boutons ######################################
// Récupérer la liste des articles
$sql = 'SELECT id_url_btn_2,nom_btn_pri FROM btn_pri WHERE lang = \'' . $_GET['lang'] . '\'';
$result = mysql_query($sql) or die(__LINE__ . ' : ' . mysql_error());
 
while ($info = mysql_fetch_assoc($result)) {
	printf('<a href="xxx.php5?lang=%s&get1=%s">%s</a><br />', $_GET['lang'], $info['id_url_btn_2'], $info['nom_btn_pri']);
}
 
################################# réécrit url ##################################
// Récupérer le tampon et arrêter la mise en cache
$contents = ob_get_contents();
ob_end_clean();
 
// Récupérer les liens à l'aide d'une expression régulière
if (preg_match_all('#<a href="xxx.php5\?lang=' . $_GET['lang'] . '&get1=([a-z]+)">(.+)</a>#Usi', $contents, $matches, PREG_SET_ORDER)) {
	// Parcourir les liens et les réécrire à l'aide de la base de données
	foreach ($matches as $match) {
		$pattern = $match[0];
		$article_id = $match[1];
		$anchor = $match[2];
 
		$sql = 'SELECT nom_btn_pri FROM `btn_pri` WHERE lang = \'' . $_GET['lang'] . '\'';
		$result = mysql_query($sql) or die(__LINE__ . ' : ' . mysql_error());
 
		if ($article = mysql_fetch_assoc($result)) {
			$new_url = '<a href="' . $_GET['lang'] . '-' . $article_id . '-' . clean($article['nom_btn_pri']) . '.html" ' . 'title="' . $article['nom_btn_pri'] . '">' . $article['nom_btn_pri'] . '</a>';
			$contents = str_replace($pattern, $new_url, $contents);
		}
	}
}
// Afficher les boutons
echo $contents;
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
################################################
#.htaccess
 
#--------------------------------------------------
# Répertoire : /urlr/
#--------------------------------------------------
 
# Le serveur doit suivre les liens symboliques :
Options +FollowSymlinks
 
# Activation du module de réécriture d'URL :
RewriteEngine on
 
#--------------------------------------------------
# Règles de réécriture d'URL :
#--------------------------------------------------
 
 
RewriteRule ([a-z]+).*.html
/urlr/exercices4/xxx.php5?lang=$1&get1=home [L]
RewriteRule ([a-z]+)-([a-z]+).*.html /urlr/exercices4/xxx.php5?lang=$1&get1=$2 [L]