Rewriter un truc tout bête.... but how ?

WRInaute discret
J'ai placé

RewriteEngine On
RewriteRule ^([0-9]+)$ search.php?genre=1&nom=$1 [L]

dans le dossier concerts dans le .htaccess

mais aucun rewrite..
 
WRInaute impliqué
je crois qu'il manque un tiret à la fin de ton pattern :

Code:
RewriteEngine on
RewriteRule ^([0-9-]+)$ search.php?genre=1&nom=$1
 
WRInaute passionné
honolulu a dit:
je crois qu'il manque un tiret à la fin de ton pattern :

Code:
RewriteEngine on
RewriteRule ^([0-9-]+)$ search.php?genre=1&nom=$1
Pareil sauf que le tiret étant un caractère spécial, il faut l'échappé, donc ([0-9\-]+)
 
WRInaute accro
Bonsoir,

J'vais dire un truc tout bête et tu zappes mon message si je me gourre :

Tu n'as pas réécris les liens dans ton calendrier ? :?


Donc quand tu cliques sur un lien du calendrier (genre : dim 1 = http://le-saxophone.fr/concerts/search.php?genre=1&nom=1-3-2009)
ton lien ne va pas se réécrire aux yeux de l'internaute en http://le-saxophone.fr/concerts/1-3-2009/ pour retranscrire derrière au serveur qu'il s'agit de http://le-saxophone.fr/concerts/search.php?genre=1&nom=1-3-2009

Il faut donc que tu changes d'abord tous les liens sur ton site.
Par exemple tu places http://le-saxophone.fr/concerts/1-3-2009/ dans ton calendrier à "dim 1".
Le .htaccess fait ensuite la conversion entre http://le-saxophone.fr/concerts/1-3-2009/ et http://le-saxophone.fr/concerts/search.php?genre=1&nom=1-3-2009 afin que la bonne page soit retournée à l'internaute :)

Si je me suis pas plantée vue l'heure avancée ^^'
 
WRInaute discret
dans le code php je n'ai rien modifié les lien s'écrivent avec des paramètres genre: http://le-saxophone.fr/concerts/search.php?genre=1&nom=31-3-2009
Je peux pas tout rewriter pr htaccess

Genre le lien idéal pour http://le-saxophone.fr/concerts/search.php?genre=1&nom=31-3-2009
serait http://le-saxophone.fr/31-3-2009/index.html

Mon script entier est téléchargeable ici : http://www.le-saxophone.fr/concerts/concerts.rar

Ps: Le script est dans sa version 1 j'ai corrigé bcp de bug, j'ai fais un autoinstaller et un panel d'admin vous pouvez donc l'installer simplement (Executer http://www.votresite.fr/script/admin/install.php . Le script est un agenda ou les invités peuvent poster leur concerts (ou n'importe quel évènement, Les images sont redimensionnée automatiquement et s'ouvre avec un Lightbox, chaque champ est contrôlé pour éviter les mots longs et les champs champs trop long, il y a un fichier Header.php pour inclure le script facilement à un design...

La démo du script est dispo ici : http://www.le-saxophone.fr/concerts
 
WRInaute accro
Mais il me semble moi que les liens dans ton code PHP ne doivent pas être avec les paramètres...

Tes pages en PHP existent et sont déjà uploadées sur le serveur.
Et dans ton script tu écris tous tes liens avec la version réécrite et propre.
Le htaccess doit par la suite faire la conversion pour envoyer à la page php appelée les paramètres "en GET".

Tu me suis ?
Je n'ai pas installé ton script car il me semble que si c'est cela le problème, ce n'est pas nécessaire. ;)

Cependant en le survolant (pas en détails) :

Code:
	$back_adresse="index.php?deb=$nbr_back";
	echo "<a class='link' href='$back_adresse'>page précédente</a>";
je vois déjà un problème ici
Tu ne dois pas mettre tes liens paramétrés dans ton code mais les URL réécrites ^^
 
WRInaute accro
Je n'avais pas vu ton autre post.

Une info cruciale t'es donnée ici :
https://www.webrankinfo.com/forum/script-calendrier-gestion-evenement-ajout ... l#p1035403
Pour ne pas réécrire toutes tes dates :)


Cependant pour les pages à indexer il faut penser à placer dans ton code les URL propres directement ^^

Attention si tu intègres la réécriture à ton script (si tu souhaites le distribuer), tous les serveurs ne le prendront pas en compte car ils ne sont pas tous configurés de la même façon ^^
(c'est la "non-pro" des serveurs qui parle lol)
 
WRInaute impliqué
c'est clair que si ton code généré n'affiche pas les liens réécrits... :mrgreen:
nb : dans mes htaccess "à moi", le tiret n'a pas besoin d'être échappé... :wink:
 
WRInaute passionné
Hello,

si le htaccess est à la racine de ton site, il y a forcément un décalage entre les répertoires, du coup ta règle devient :

Code:
RewriteRule ^concerts/([0-9_-]*)$ /concerts/search.php?genre=1&nom=$1 [L]

Et si tu veux sécuriser au max :

Code:
RewriteRule ^concerts/([0-9]+)-([0-9]+)-([0-9]+)$ /concerts/search.php?genre=1&nom=$1-$2-$3 [L]

La première solution est suffisante. Les tirets et undescore n'ont pas besoin d'être échappés.
 
WRInaute discret
Bon avant tout merci à tous et spécialement dd32 pour vos réponses,

C'est a présent rewrité ;)

Maintenant je m'attèle a rendre les jour sans évènements non cliquable :)
 
WRInaute accro
Avec plaisir ;)
N'hésite pas à solliciter la communauté afin d'avoir un script au top (la critique constructive y'a que ça de vrai).
 
Discussions similaires
Haut