Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2075 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  help pour les regex de mon .htaccess

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

help pour les regex de mon .htaccess

n°1921468
jackichan
Posté le 05-09-2009 à 00:44:48  profilanswer
 

Bonjour à tous,
Je galère depuis déjà quelques heures sur ce problème:
 
Mon site est composé d'URL du genre: video.php?post=26
Je souhaite obtenir des URL rewritées du genre : video-super-titre-titre-titre-post-26.htm
 
Le préfixe des URL rewritées sera toujours du type video-super- et le suffixe -post-26.htm, mais là ou ça se complique, c'est que le nombre de mots du titre-titre-titre- est variable :
 
Je peux avoir des URL rewritées du type : video-super-titre-titre-post-26.htm
Oubien du type : video-super-titre-titre-titre-titre-titre-titre-titre-titre-titre-titre-titre-titre-post-26.htm
 
Actuellement le code de mon .htaccess ne fonctionne pas :
 

Code :
  1. ErrorDocument 404 /error/404.php
  2. RewriteEngine On
  3. RewriteRule ^video-super-(.*)-post-([^-]*)\.htm$ /video.php?post=$1 [L]


 
Quelqu'un peut-il me donner un coup de main?
Merci d'avance!

mood
Publicité
Posté le 05-09-2009 à 00:44:48  profilanswer
 

n°1921484
cvb
Posté le 05-09-2009 à 08:39:12  profilanswer
 

C'est un problème interessant également, qui m'interesse pour lequel je me suis jamais posé la question.  
 
Une idée, je ne sais pas s'il elle fonctionnera, mais écrire dynamiquement dans le fichier .htaccess depuis le serveur n'est pas possible ? A savoir rajouter ta ligne de façon automatique !
 
++

n°1921525
guybrush02
Posté le 05-09-2009 à 14:22:49  profilanswer
 

Est-ce que ceci fonctionne ?  
RewriteRule ^/video-super-(.*?)-post-([0-9]+)\.htm$ /video.php?post=$1 [L]


Message édité par guybrush02 le 05-09-2009 à 14:26:07

---------------
Guybrush  
n°1921539
jackichan
Posté le 05-09-2009 à 15:55:29  profilanswer
 

Merci pour vos réponses,  
le code que tu m'as envoyé guybrush02 retourne une erreur 500.
 
Le code suivant fonctionne parfaitement avec des url du type : video-super-post-26.htm  

Code :
  1. ErrorDocument 404 /error/404.php
  2. RewriteEngine On
  3. RewriteRule ^video-super-post-([^-]*)\.htm$ /video.php?post=$1 [L]


 
Maintenant j'aimerais ajouter une règle qui dit "peu importe ce qu'il y a entre "video-super- et -post-26.htm genre :

Code :
  1. ErrorDocument 404 /error/404.php
  2. RewriteEngine On
  3. RewriteRule ^video-super-NIMPORTEQUOI-post-([^-]*)\.htm$ /video.php?post=$1 [L]


 
Voila j'espère que ça vous paraitra clair!  :pt1cable:


Message édité par jackichan le 05-09-2009 à 16:06:45
n°1921968
jackichan
Posté le 07-09-2009 à 18:25:14  profilanswer
 

up, des idées quelqun?

n°1921994
stealth35
Posté le 07-09-2009 à 20:17:44  profilanswer
 

t'as le allowoveride d'activé ?

n°1922774
jackichan
Posté le 09-09-2009 à 21:41:22  profilanswer
 

stealth35 a écrit :

t'as le allowoveride d'activé ?


 
Oui!
 
Bon j'ai trouvé une solution alors je vous la donne.
J'utilise le code suivant :

Code :
  1. RewriteEngine on
  2. RewriteRule (.*)(-.+)-([^-]+)-([^-&]*)([^-]*)\.htm $1$2&$3=$4$5\.htm [N]
  3. RewriteRule (.*)-([^-]+)-([^-]*)(.*)\.htm /$1.php?$2=$3$4 [L]
  4. RewriteRule ^(.*).htm /$1.php [L]


 
Çà fonctionne nickel!

n°1922775
stealth35
Posté le 09-09-2009 à 22:09:10  profilanswer
 

d'ailleur j'ai un truc simpa pour les regexp ca peu toujours servir
 
http://gskinner.com/RegExr/

n°1922859
soju
One shot !
Posté le 10-09-2009 à 10:34:56  profilanswer
 

jackichan a écrit :

Code :
  1. RewriteEngine on
  2. RewriteRule (.*)(-.+)-([^-]+)-([^-&]*)([^-]*)\.htm $1$2&$3=$4$5\.htm [N]
  3. RewriteRule (.*)-([^-]+)-([^-]*)(.*)\.htm /$1.php?$2=$3$4 [L]
  4. RewriteRule ^(.*).htm /$1.php [L]


pas super propre... mais bon si ça marche.
 
PS@guybrush : content de te voir ici :)

n°1922995
FlorentG
Posté le 10-09-2009 à 15:49:35  profilanswer
 

ITT : massive fail.

 

Essaye avec ça :

Code :
  1. RewriteEngine On
  2. RewriteRule ^video-super-(.+?)-post-(\d+).htm$ video.php?post=$2

Message cité 1 fois
Message édité par FlorentG le 10-09-2009 à 15:51:05
mood
Publicité
Posté le 10-09-2009 à 15:49:35  profilanswer
 

n°1923436
jackichan
Posté le 11-09-2009 à 20:11:51  profilanswer
 

FlorentG a écrit :

ITT : massive fail.
 
Essaye avec ça :

Code :
  1. RewriteEngine On
  2. RewriteRule ^video-super-(.+?)-post-(\d+).htm$ video.php?post=$2



 
 
Merci Florent, mais ça me donne une erreur 500.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  help pour les regex de mon .htaccess

 

Sujets relatifs
HELP: A propos d'un Loader 3DS en Delph[HELP] Gros problème sous internet explorer 6.0
Erreur de syntaxe SQL. Help !Défi -> Regex bien casse tete
[RESOLU] htaccess, htpasswd, md5, salt, validation password par phpVariable javascript.. elle me rendent dingue ; help.
Aide pour une RegexREGEX s'arréter à la premiére balise
Corruption de fichier .rar dans MySQL help!panier avec paypal, help !!
Plus de sujets relatifs à : help pour les regex de mon .htaccess


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR