Lighttpd et URL Rewriting

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


link182
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 474
Inscription: 26 Juil 2005

Lighttpd et URL Rewriting

Message le Dim Déc 30, 2007 2:47

Bonsoir,

je suis en train de tester Lighttpd, mais impossible de faire marcher l'url rewriting.

ex : www.monsite.com/index-id-5-action-ajout.php
<--> www.monsite.com/index.php?id=5&action=ajout

Dans mon ancien fichier htaccess d'apache :

Code: Tout sélectionner
RewriteEngine On
RewriteRule (.*)(-.+)-([^-]+)-([^-&]*)([^-]*)\.php $1$2&$3=$4$5\.php [N]
RewriteRule (.*)-([^-]+)-([^-]*)(.*)\.php $1.php?$2=$3$4 [L]
RewriteRule ^(.*).php $1.php [L]


Dans lighttpd.conf :

Code: Tout sélectionner
url.rewrite = ("(.*)(-.+)-([^-]+)-([^-&]*)([^-]*)\.php" => "$1$2&$3=$4$5\.php [N]",
               "(.*)-([^-]+)-([^-]*)(.*)\.php" => "$1.php?$2=$3$4 [L]",
               "^(.*).php" => "$1.php [N]")



Evidemment cela ne marche pas (erreur 404)... Si quelqu'un peux m'aider, je n'ai rien trouvé comme exemple (lighty est peu documenté)

Merci


fandecine
Modérateur
Modérateur
 
Messages: 2024
Inscription: 2 Avr 2005

Message le Dim Déc 30, 2007 8:41

Passer d'une syntaxe à une autre en informatique, c'est comme passer d'une langue à une autre, si tu fait du mot a mot, c'est du petit négre ! Il faut repenser ton probléme à partir du besoin et oublier la syntaxe apache:


Code: Tout sélectionner
ex : www.monsite.com/index-id-5-action-ajout.php
<--> www.monsite.com/index.php?id=5&action=ajout

url.rewrite  = ( "^/(.*)-(.*)-(.*)-(.*)-(.*)\.php$" => "/$1.php?$2=$3&$4=$5" )


cela devrait marcher :wink:


link182
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 474
Inscription: 26 Juil 2005

Message le Dim Déc 30, 2007 12:47

Merci pourton aide Fandecine, mais ca n'a pas l'air de fonctionner : j'ai le droit a une erreur 404 :(

j'ai bien mis :
Code: Tout sélectionner
url.rewrite  = ( "^/(.*)-(.*)-(.*)-(.*)-(.*)\.php$" => "/$1.php?$2=$3&$4=$5" )


à la fin du lighttpf.conf et redemarrer le service.
si je tape l'adresse www.touteslesmiss.com/profil-membre-693.php cela ne fonctionne pas, alors que http://touteslesmiss.com/profil.php?membre=693.


Elvis
WRInaute discret
WRInaute discret
 
Messages: 114
Inscription: 20 Mai 2005

Message le Dim Déc 30, 2007 15:40

Le problème est peut-être que le .* prend également les tirets que tu utilises pour délimiter tes arguments et fait donc tout foirer...

Auquel cas tu devrais remplacer tes .* par des classes de caractères qui sont, de plus, bien plus rapides que des .*


link182
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 474
Inscription: 26 Juil 2005

Message le Dim Déc 30, 2007 16:14

Ok, mais qu'appelle tu 'classe de caracteres' ?
Pour info l'url rewriting marchait avec apache.


Elvis
WRInaute discret
WRInaute discret
 
Messages: 114
Inscription: 20 Mai 2005

Message le Dim Déc 30, 2007 21:35

Au lieu de mettre .*, qui désigne n'importe quel caractère, utilise plutôt des classes qu'on exprime entre crochets.

Par exemple, avec [a-zA-Z0-9_], tu désignes toutes les lettres ( maj / min ), tous les chiffres et aussi l'underscore.

Pour faire plus court tu peux remplacer a-zA-Z par \w et 0-9 par \d, c'est pareil.

Dans cette combinaison, le tiret est exclu, ce qui est une bonne chose puisque tu l'utilises comme séparateur. Le prob vient peut-être pas de là mais ce sera toujours une bonne chose de faite ;)

Edit
Un site bien utile sur les regexp :
http://www.expreg.com


link182
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 474
Inscription: 26 Juil 2005

Message le Ven Jan 04, 2008 19:08

problème résolu, merci à vous

Code: Tout sélectionner
url.rewrite = ( "^/([a-z_]+)-([a-z_]+)-([a-z0-9]+)\.php$" => "/$1.php?$2=$3" )


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google goo.gl

  • Calcul du nombre de backlinks
    Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.
  • Transformer des citations en liens
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités