Erreur 404 UrlRewRiting
Résolu
jiantox
Messages postés
1092
Date d'inscription
Statut
Membre
Dernière intervention
-
jiantox Messages postés 1092 Date d'inscription Statut Membre Dernière intervention -
jiantox Messages postés 1092 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Erreur 404 UrlRewRiting
- Erreur 404 iptv - Guide
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
2 réponses
Salut,
L'url rewriting ce n'est pas juste un bout de code à coller dans un fichier ".htaccess" surtout quand les pages contiennent des paramètres..!
Si je ne me plante pas trop, avec le code ci-dessus vous indiquez à la suite de "RewriteBase" le répertoire visé par l'url rewriting et vous indiquez la méthode de ré écriture à la suite de "RewriteRule".
Pour faire fonctionner correctement l'url rewriting, il faut dans un premier temps une fonction de ré écriture :
...et dans un second temps, il faut également modifier tout les liens qui utilisent cette règle.
Ainsi :
devient :
La variable "$ma_variable" est donc passé à la moulinette dans la fonction "OptimiseUrl()" pour supprimer/remplacer tout caractères/espaces afin que la règle définit dans le fichier ".htaccess" puisse être utilisé correctement.
Note : non testé mais dans les grosses lignes c'est ça.
L'url rewriting ce n'est pas juste un bout de code à coller dans un fichier ".htaccess" surtout quand les pages contiennent des paramètres..!
RewriteEngine on RewriteBase /annonce/ RewriteRule ^(.*)/?$ index.php?a=$1 [L]
Si je ne me plante pas trop, avec le code ci-dessus vous indiquez à la suite de "RewriteBase" le répertoire visé par l'url rewriting et vous indiquez la méthode de ré écriture à la suite de "RewriteRule".
Pour faire fonctionner correctement l'url rewriting, il faut dans un premier temps une fonction de ré écriture :
function OptimiseUrl($chaine) { $chaine=strtolower($chaine); $accents = Array("/é/", "/è/", "/ê/","/ë/", "/ç/", "/à/", "/â/","/á/","/ä/","/ã/","/å/", "/î/", "/ï/", "/í/", "/ì/", "/ù/", "/ô/", "/ò/", "/ó/", "/ö/"); $sans = Array("e", "e", "e", "e", "c", "a", "a","a", "a","a", "a", "i", "i", "i", "i", "u", "o", "o", "o", "o"); $chaine = preg_replace($accents, $sans,$chaine); $chaine = preg_replace('#[^a-z0-9-]#','-',$chaine); while (strpos($chaine,'--') !== false) $chaine = str_replace('--','-',$chaine); return $chaine; }
...et dans un second temps, il faut également modifier tout les liens qui utilisent cette règle.
Ainsi :
<a href="index.php?a=<?php echo $ma_variable;?>"><?php echo $ma_variable;?></a>
devient :
<a href="<?php echo OptimiseUrl($ma_variable);?>"><?php echo $ma_variable;?></a>
La variable "$ma_variable" est donc passé à la moulinette dans la fonction "OptimiseUrl()" pour supprimer/remplacer tout caractères/espaces afin que la règle définit dans le fichier ".htaccess" puisse être utilisé correctement.
Note : non testé mais dans les grosses lignes c'est ça.
Merci à toi,
ça fonctionne parfaitement avec ceci :
RewriteEngine on
RewriteBase /annonce/
RewriteRule ^(.*)/?$ index.php?a=$1 [L]
=) merci encore
ça fonctionne parfaitement avec ceci :
RewriteEngine on
RewriteBase /annonce/
RewriteRule ^(.*)/?$ index.php?a=$1 [L]
=) merci encore