Bonjour à tous,
voilà j'ai un souci avec certains caractères tels que le é, è, à , ils sont automatiquement remplacés par un - et donc çà coupe les mots dans mes urls. Quelqu'un pourrait-il me dire comment je peux faire pour qu'ils soient remplacés par des e et des a sans accents ? Merci d'avance
Voici mon htaccess :
RewriteEngine On
RewriteRule ^ad_([0-9]+)_(.*).html detail.php?id=$1
RewriteRule ^cat_([0-9]+)_(.*).html index.php?catid=$1
RewriteRule ^user_([0-9]+)_(.*).html user_info.php?user_id=$1
RewriteRule ^ratemember_([0-9]+)_(.*).html rate_member.php?user_id=$1
RewriteRule ^contact_([0-9]+)_([0-9]+)_(.*).html detail.php?id=$1&user_id=$2&contact=1
RewriteRule ^rate_([0-9]+).html rate.php?id=$1
RewriteRule ^largepicture_([0-9]+).html large_picture.php?id=$1
RewriteRule ^tellafriend_([0-9]+).html detail.php?id=$1&tellafriend=1
RewriteRule ^print_([0-9]+).html detail.php?id=$1&print=1
RewriteRule ^removefav_([0-9]+).html fav_popup.php?remove_fav=$1
RewriteRule ^addfav_([0-9]+).html fav_popup.php?add_fav=$1
RewriteRule ^trm_(.*).html info.php?what=terms
RewriteRule ^ab_(.*).html info.php?what=aboutus
RewriteRule ^adv_(.*).html info.php?what=advertise
RewriteRule ^hlp_(.*).html info.php?what=help
RewriteRule ^rss_([0-9]+).html detail.php?id=$1
J'ai trouvé ici et là ces fonctions mais je ne sais pas où les placer, directement dans le htaccess cause une erreur 500
1ère solution:
$accents = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
$ssaccents = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
$titre_url = strtr($titre,$accents,$ssaccents);
$in = array(' ', '?', '!', '.', ',', ':', "'", '&', '(', ')');
$out = array('-', '', '', '', '', '', '-', 'et', '', '');
$titre_url = str_replace($in, $out, $titre_url);
2ème solution:
function suppaccents($mot){
$accents = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
$ssaccents = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
return(strtr($mot,$accents,$ssaccents));
}
voilà j'ai un souci avec certains caractères tels que le é, è, à , ils sont automatiquement remplacés par un - et donc çà coupe les mots dans mes urls. Quelqu'un pourrait-il me dire comment je peux faire pour qu'ils soient remplacés par des e et des a sans accents ? Merci d'avance
Voici mon htaccess :
RewriteEngine On
RewriteRule ^ad_([0-9]+)_(.*).html detail.php?id=$1
RewriteRule ^cat_([0-9]+)_(.*).html index.php?catid=$1
RewriteRule ^user_([0-9]+)_(.*).html user_info.php?user_id=$1
RewriteRule ^ratemember_([0-9]+)_(.*).html rate_member.php?user_id=$1
RewriteRule ^contact_([0-9]+)_([0-9]+)_(.*).html detail.php?id=$1&user_id=$2&contact=1
RewriteRule ^rate_([0-9]+).html rate.php?id=$1
RewriteRule ^largepicture_([0-9]+).html large_picture.php?id=$1
RewriteRule ^tellafriend_([0-9]+).html detail.php?id=$1&tellafriend=1
RewriteRule ^print_([0-9]+).html detail.php?id=$1&print=1
RewriteRule ^removefav_([0-9]+).html fav_popup.php?remove_fav=$1
RewriteRule ^addfav_([0-9]+).html fav_popup.php?add_fav=$1
RewriteRule ^trm_(.*).html info.php?what=terms
RewriteRule ^ab_(.*).html info.php?what=aboutus
RewriteRule ^adv_(.*).html info.php?what=advertise
RewriteRule ^hlp_(.*).html info.php?what=help
RewriteRule ^rss_([0-9]+).html detail.php?id=$1
J'ai trouvé ici et là ces fonctions mais je ne sais pas où les placer, directement dans le htaccess cause une erreur 500
1ère solution:
$accents = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
$ssaccents = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
$titre_url = strtr($titre,$accents,$ssaccents);
$in = array(' ', '?', '!', '.', ',', ':', "'", '&', '(', ')');
$out = array('-', '', '', '', '', '', '-', 'et', '', '');
$titre_url = str_replace($in, $out, $titre_url);
2ème solution:
function suppaccents($mot){
$accents = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
$ssaccents = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
return(strtr($mot,$accents,$ssaccents));
}