Sujet: RegExp / Apache / RewriteUrl ... di djou...
29/05/2006 @ 17:27:37: zion: RegExp / Apache / RewriteUrl ... di djou...
J'ai un soucis avec les regexp, ca merdoie pas mal au niveau d'Apache et du RewriteUrl... Bref... A l'aide :joce:

J'ai dans mon htacces:



...

#Blogs
RewriteRule blogs_message-([0-9]+)-([a-zA-Z0-9_\.]+)-([a-zA-Z0-9_\.]+)\.html$ index.php?page=blogs_message&id=$1&blog=$2 [L]
RewriteRule blogs_message-([0-9]+)-([a-zA-Z0-9_\.]+)\.html$ index.php?page=blogs_message&id=$1&blog=$2 [L]


...
RewriteCond %{REQUEST_URI} (.*)index\.php$
RewriteCond %{HTTP_HOST} !^www\.kelblogs\.(be|com|eu|org|fr)$
RewriteCond %{HTTP_HOST} ^(.*)\.kelblogs\.(be|com|eu|org|fr)$
#RewriteRule ^index.php$ blogs_main-%1.html [N]
RewriteRule ^index.php$ index.php?page=blogs_main&blog=%1 [L]



Le but ayant d'avoir:
http://zion.kelblogs.be/index.php
qui renvoie
http://zion.kelblogs.be/blogs_main-zion.html

Ca, ca fonctionne super.

Le problème, c'est que:
http://zion.kelblogs.be/blogs_message-1-1-sdf.html
renvoie aussi
http://zion.kelblogs.be/blogs_main-zion.html

Alors qu'il y a une règle sur le blogs_message qui est pourtant avant ma règle avec le RewriteCond et que dans la dernière règle, j'ai pourtant ^index.php$ qui devrait justement limiter à index.php sans un seul paramètre.

Si je retière ma règle avec les 3 RewriteCond, ca:
http://zion.kelblogs.be/blogs_message-1-1-sdf.html
Ca fonctionne, mais plus
http://zion.kelblogs.be/index.php
qui reste la même.

Au secours :ciler:
29/05/2006 @ 17:28:16: zion: RegExp / Apache / RewriteUrl ... di djou...
(Ah, et ca sert à rien de cliquer, le site est protégé par htaccess pour le moment, le temps du dev :joce: )
29/05/2006 @ 17:35:22: ovh: RegExp / Apache / RewriteUrl ... di djou...
Euh dis donc tu devrais pas escaper le - dans tes regexp là ? :oh:
RewriteRule blogs_message-([0-9]+)-([a-zA-Z0-9_\.]+)-([a-zA-Z0-9_\.]+)\.html$ index.php?page=blogs_message&id=$1&blog=$2 [L]
RewriteRule blogs_message-([0-9]+)-([a-zA-Z0-9_\.]+)\.html$ index.php?page=blogs_message&id=$1&blog=$2 [L]

devient :
RewriteRule blogs_message\-([0-9]+)\-([a-zA-Z0-9_\.]+)\-([a-zA-Z0-9_\.]+)\.html$ index.php?page=blogs_message&id=$1&blog=$2 [L]
RewriteRule blogs_message\-([0-9]+)\-([a-zA-Z0-9_\.]+)\.html$ index.php?page=blogs_message&id=$1&blog=$2 [L]
29/05/2006 @ 17:39:30: zion: RegExp / Apache / RewriteUrl ... di djou...
Non, pas besoin de l'escaper, si je vire la règle du dessous, tout fonctionne nickel :spamafote:

Ce qui m'énerve, c'est qu'il y a un [L] sur le blogs_message donc ca devrait pas continuer plus bas, et le coup de l'index$, la non plus ca devrait pas le faire :ohwell:
29/05/2006 @ 18:58:52: gizmo: RegExp / Apache / RewriteUrl ... di djou...
Je dois être bouché, mais dans ce que tu as donné comme Rewrite rule, je ne vois rien qui te permette que http://zion.kelblogs.be/index.php renvoie vers http://zion.kelblogs.be/blogs_main-zion.html :confused:
29/05/2006 @ 19:15:36: zion: RegExp / Apache / RewriteUrl ... di djou...
RewriteRule ^index.php$ index.php?page=blogs_main&blog=%1 [L]

parce que bon, c'est pareil :joce: (ca donne le même résultat que celle que j'ai commenté juste au dessus).

Pour le moment, je pense avoir trouvé une autre solution, je joue avec un premier rewrite au niveau de lighttpd et un autre au niveau d'apache, il ne me reste qu'un seul cas qui foire :oh:
29/05/2006 @ 19:18:21: gizmo: RegExp / Apache / RewriteUrl ... di djou...
ah oui, mais bon, si tu donnes pas toute l'info :oh:
29/05/2006 @ 19:27:30: zion: RegExp / Apache / RewriteUrl ... di djou...
Ca maaarche \o/

Mais bon, avec lighttpd heureusement, Apache seul ce serait dmc :oh:
29/05/2006 @ 20:05:22: ovh: RegExp / Apache / RewriteUrl ... di djou...
:ciler: :prosterne:
Retour