[Résolu] Problème d'écriture RewriteRule

  • Auteur de la discussion Auteur de la discussion rtb
  • Date de début Date de début
WRInaute impliqué
Bonjour,
je fais mes debuts en UR et je rencontre quelques problemes :
je tente de rediriger dans htaccess
camping-ville-10-12.html vers landes-ville-rub?id_rubrique=10&id_mot=12
J'ai mis dans htaccess
RewriteRule ^camping-ville-([0-9]+)-([0-9]+)\.html /landes-ville-rub?id_rubrique=$1&id_mot=$2 [L]
mais les parametres ne passent pas ( je suis sous spip )
Ensuite si quelqu'un avait une indication pour trouver comment enlever les espaces et les accents des titres de rubriques afin de generer l'url
Je suis debutant et je rame un peu dans tout ca
merci
 
Nouveau WRInaute
1er chose : change
RewriteRule ^camping-ville-([0-9]+)-([0-9]+)\.html /landes-ville-rub?id_rubrique=$1&id_mot=$2 [L]
en
RewriteRule ^camping-ville-([0-9]+)-([0-9]+)\.html landes-ville-rub?id_rubrique=$1&id_mot=$2 [L]


perso à la fin de RewriteRule j'utilise un [NC,L] (NC = No Case = pas de respect des minuscules/majuscules)

sinon as-tu bien ces 2 lignes au début :
Options FollowSymlinks (ou : Options +FollowSymlinks)
RewriteEngine on


pr ce qui est d'une astuce pour nettoyer les URL (accents, espaces ...) je te propose ca (en php):

function supprime_accents ($chaine) {
$a = "àáâãäåòóôõöøèéêëçìíîïùúûüÿñ";
$b = "aaaaaaooooooeeeeciiiiuuuuyn";
return (strtr($chaine, $a, $b));
}


et pour les espaces un simple :

str_replace(" ","-",$chaine);

le mix des deux te donnera :

supprime_accents(str_replace(" ","-",$chaine));
 
WRInaute impliqué
J'avais pas Options +FollowSymlinks en debut de htaccess, et j'ai modif le [L] mais ca change rien, c'est peut etre les majuscules qui posent probleme
-http://www.landes-tourisme.info/seignosse.html je fais des essai juste sur la page camping, je comprends pas bien ce qui cloche...
merci a toi
 
Nouveau WRInaute
ta bien viré le slash avant "landes-ville-rub?......" ?

le htaccess est à la racine ?
vérifie les chemins relatifs
 
WRInaute impliqué
quand je vire le / ca donne
The requested URL /home/landesto/www/landes-ville-rub was not found on this server.
 
WRInaute impliqué
htaccess est bien a la racine et le chemin est bon... probleme avec les majuscules possible?
 
Nouveau WRInaute
autre chose !

ajoute un $ a la fin de ta rule comme cela :

RewriteRule ^camping-ville-([0-9]+)-([0-9]+)\.html$ /landes-ville-rub?id_rubrique=$1&id_mot=$2 [RC,L]
 
WRInaute impliqué
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^capbreton\.html /landes-ville.php?id_mot=4 [L]
RewriteRule ^annuaire-landes\.html /rubrique.php?id_rubrique=86 [L]
RewriteRule ^actualite-landes\.html /rubrique.php?id_rubrique=384 [L]
...
RewriteRule ^tosse\.html /mot.php?id_mot=106 [L]
RewriteRule ^ychoux\.html /mot.php?id_mot=163 [L]
RewriteRule ^essai-([0-9]+)-([0-9]+)\.html$ /landes-ville-rub?id_rubrique=$1&id_mot=$2[RC,L]

comprends pas toutes les autres marchent mais la les parametres passent pas
 
WRInaute impliqué
ca c'est l'url de depart
-http://www.landes-tourisme.info/Camping-Seignosse-373-3.html

Ceux sont les parametres des variables qui ne passent pas...
celle ci est ecrite en php, c'est bien comme cela qu'on procede ou y a til autre chose a parametrer ?
 
WRInaute impliqué
si [nc] supprime la casse pour l´URL input, ce n´est pas le cas de l´output:
s´il te dit qu´il ne trouve pas le fichier, c´est que ton Rewrite marche bien, mais que l´adresse est incorrècte...
 
WRInaute impliqué
Hum... merci de votre aide, j'ai trouvé ce qui aurait du creuver les yeux... il manquait le .php dasn le htaccess :
RewriteRule ^camping-ville-([0-9]+)-([0-9]+)\.html$ /landes-ville-rub?id_rubrique=$1&id_mot=$2 [RC,L],
Une erreur d'ecriture tout betement, desolé et merci de votre aide.
RewriteRule ^camping-ville-([0-9]+)-([0-9]+)\.html$ /landes-ville-rub.php?id_rubrique=$1&id_mot=$2 [RC,L] marche parfaitement
Merci encore
rtb
 
Discussions similaires
Haut