Programmation » RegExp / Apache / RewriteUrl ... di djou...
RegExp / Apache / RewriteUrl ... di djou...
Publié le 29/05/2006 @ 17:27:37,
Par zionJ'ai un soucis avec les regexp, ca merdoie pas mal au niveau d'Apache et du RewriteUrl... Bref... A l'aide
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
Dernière édition: 29/05/2006 @ 17:27:50
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
Dernière édition: 29/05/2006 @ 17:27:50
Je suis le Roy
RegExp / Apache / RewriteUrl ... di djou...
Publié le 29/05/2006 @ 17:28:16,
Par zion(Ah, et ca sert à rien de cliquer, le site est protégé par htaccess pour le moment, le temps du dev )
Je suis le Roy
RegExp / Apache / RewriteUrl ... di djou...
Publié le 29/05/2006 @ 17:35:22,
Par ovhEuh dis donc tu devrais pas escaper le - dans tes regexp 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]
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]
RewriteRule blogs_message\-([0-9]+)\-([a-zA-Z0-9_\.]+)\.html$ index.php?page=blogs_message&id=$1&blog=$2 [L]
Je n'ai rien à voir avec www.ovh.com
RegExp / Apache / RewriteUrl ... di djou...
Publié le 29/05/2006 @ 17:39:30,
Par zionNon, pas besoin de l'escaper, si je vire la règle du dessous, tout fonctionne nickel
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
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
Je suis le Roy
RegExp / Apache / RewriteUrl ... di djou...
Publié le 29/05/2006 @ 18:58:52,
Par gizmoJe 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
Concept vivant.
RegExp / Apache / RewriteUrl ... di djou...
Publié le 29/05/2006 @ 19:15:36,
Par zionRewriteRule ^index.php$ index.php?page=blogs_main&blog=%1 [L]
parce que bon, c'est pareil (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
parce que bon, c'est pareil (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
Je suis le Roy
RegExp / Apache / RewriteUrl ... di djou...
Publié le 29/05/2006 @ 19:18:21,
Par gizmoah oui, mais bon, si tu donnes pas toute l'info
Concept vivant.
RegExp / Apache / RewriteUrl ... di djou...
Publié le 29/05/2006 @ 19:27:30,
Par zionCa maaarche \o/
Mais bon, avec lighttpd heureusement, Apache seul ce serait dmc
Mais bon, avec lighttpd heureusement, Apache seul ce serait dmc
Je suis le Roy
RegExp / Apache / RewriteUrl ... di djou...
Publié le 29/05/2006 @ 20:05:22,
Par ovhJe n'ai rien à voir avec www.ovh.com