Connection à la base de données avec htaccess

Fermé
Romeof Messages postés 30 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 26 avril 2010 - 21 août 2009 à 16:42
avion-f16 Messages postés 19252 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 10 février 2025 - 21 août 2009 à 17:27
Bonjour,
j'ai fais une recherche sur le fichier .htaccess car je veux l'utiliser pour faire une redirection.
est-t-il possible d'extraire le nom de la page écrite dans l'URL à partir de la base données??
exemple:
j'ai un article référencé par in id qui existe dans l'URL pourrais je extraire le nom de l'article de la base de données et l'utiliser dans le fichier htaccess.

voici l'exemple que j'utilise :

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^article-([0-9]+)\.html$ article.php?id_article=$1 [L]

Mais je veux remplacer ^article-([0-9]+)\.html$ par nom_article.html
Aider moi s'il vous plais.
Merci d'avance.

1 réponse

avion-f16 Messages postés 19252 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 10 février 2025 4 505
21 août 2009 à 17:27
Dans ta base de données, ajoute un champs "url" dans lequel tu placera le titre une fois passé par cette fonction :
function stringtourl($chaine){
	$chaine = trim($chaine);
	$chaine = strtr($chaine,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ","aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");
	$chaine = preg_replace('/([^.a-z0-9]+)/i', '-', $chaine);
	return $chaine;
}

Fait $url = stringtourl($titre);

Dans ton .htaccess :
RewriteRule ^([a-z0-9_-]+)\.html$ article.php?url=$1 [L] 


Sur article.php, dans la requête, fait 'WHERE url = "'.$_GET['url'].'"'; au lieu de 'WHERE id = "'.$_GET['article_id'].'"';

J'espère que t'as compris avec mes explications compressées.
0