Un coup de main pour une url caprcieuse

  • Auteur de la discussion Auteur de la discussion Kent
  • Date de début Date de début
Nouveau WRInaute
Bonjour, j'ai besoin d'un coup de main svp

voici mon htaccess.

Code:
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^news-([a-z\-]*)-([0-9]+)\.html$ /jazz2/lirenews.php?&idn=$2 [NC]


Voici une fonction qui me permer de netoyer les URL

Code:
function cleanurl($texte)
{
$sep_mots = '-';
   // Définition des caractères accentués
   $car_speciaux = array( 'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'È', 'É', 'Ê', 'Ë', 'è', 'é', 'ê', 'ë', 'Ì', 'Í', 'Î', 'Ï', 'ì', 'í', 'î', 'ï', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', 'Ù', 'Ú', 'Û', 'Ü', 'ù', 'ú', 'û', 'ü', 'ß', 'Ç', 'ç', 'Ð', 'ð', 'Ñ', 'ñ', 'Þ', 'þ', 'Ý' );
   // ... et de leurs "équivalents" non-accentués
   $car_normaux  = array( 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'E', 'E', 'E', 'E', 'e', 'e', 'e', 'e', 'I', 'I', 'I', 'I', 'i', 'i', 'i', 'i', 'O', 'O', 'O', 'O', 'O', 'O', 'o', 'o', 'o', 'o', 'o', 'o', 'U', 'U', 'U', 'U', 'u', 'u', 'u', 'u', 'B', 'C', 'c', 'D', 'd', 'N', 'n', 'P', 'p', 'Y' );
  
   // On commence par supprimer les accents
   $texte = str_replace($car_speciaux, $car_normaux, $texte);
  
   // On remplace les caractères non-alphanumériques par le séparateur $sep_mots
   $texte = preg_replace( "/[^A-Za-z0-9]+/", $sep_mots, $texte );
  
   // On supprime le séparateur s'il se trouve en début ou fin de chaîne
   $texte = trim( $texte, $sep_mots );
    
   // On convertit le tout en minuscules
   $texte = strtolower( $texte );
  
  
   // On retourne le résultat
   return ( $texte );
}

Je l'utilise ainsi :

Code:
<a href='news-".cleanurl($lanews['titre'])."-".$lanews['idn'].".html'>".$lanews['titre']."</a>

Ma question est la suivante :

Pourquoi avec cette url
news-Histoire-d-amerique-latine-Du-31-janvier-au-04-fevrier-7.html

J'ai une erreur 404 ? est-ce parce qu'il ya des chiffre puis des lettre puis des chiffre à nouveau du coup il ne sait pas ou prendre le "$2" dans le htaccess ?

J'ai aussi une erreur si la premiere chose qui suis "news-" est un chiffre :(

Merci de votre aide
 
Nouveau WRInaute
Bonjour magic corp, merci pour ta réponse avec (.*) ça ne donne rien non plus ça ne fonctionne pas :( toujours une 404
 
WRInaute accro
C'est une url spam ???
>> news-Histoire-d-amerique-latine-Du-31-janvier-au-04-fevrier-7.html

Je te conseil :
>> histoire-1-31,01@01,07.html

Et utilise les fonctions php => urlencode() et urldecode() au lieu de tes fonctions de "nettoyage".
 
WRInaute passionné
On va commencer par faire simple.
Est-ce que :

Code:
RewriteRule news\.html$ /jazz2/lirenews.php?&idn=7

fonctionne ? (appelle news.html dans ton navigateur)
 

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