Problème url-rewriting multi-conditions

WRInaute discret
Bonjour,

Je dispose sur mon site d'un dossier "forum", contenant le fichier .htaccess suivant :

Code:
Options +FollowSymlinks

RewriteEngine on

RewriteRule ^.+\-a([0-9]+)$       /forum/forums.php?id=$1 [NC,L]
RewriteRule ^.+\-([0-9]+)$       /forum/view.php?id=$1 [NC,L]

Le code est vraiment très simple, pourtant le serveur me retourne une erreur 500 pour n'importe quelle page de ce dossier que je tente de charger, et les logs indiquent uniquement "Bad flags delimiters".

J'ai essayé de modifier le fichier en retirant simplement la deuxième condition, et tout fonctionne de nouveau normalement. J'ai ensuite modifié le fichier en enlevant cette fois seulement la première règle de réécriture, et tout fonctionne également. En somme, mes règles fonctionnent bien, mais le problème apparaît dès qu'il y en a deux en même temps !

A la racine de mon site, j'ai aussi un .htaccess multi-conditions, et il fonctionne sans problème. Il ne s'agit donc qu'à l'intérieur d'un autre dossiers, avec plusieurs conditions. Très étrange, je ne comprends vraiment pas.

Une idée ?

Merci d'avance.
 
WRInaute discret
bonjour

bien sur que les 2 ne fonction pas

il faut spécifie commence par un mot ou caractère

Exemple de code :

Code:
RewriteEngine On
RewriteRule ^(forums).+\-a([0-9]+)$       /forum/forums.php?id=$1 [NC,L]
RewriteRule ^(view).+\-([0-9]+)$       /forum/view.php?id=$1 [NC,L]

comme ça si le lien commence par "forums" il sera appliqué la 1er ligne

si commence par "view" il sera appliqué la 2éme ligne

--
Mahdivitche
 
WRInaute discret
Non, ton code ne fonctionne pas non plus, je l'ai testé, j'ai une erreur 500. Mais ce n'est de toute manière pas ce que je veux faire. Une fois, je veux réécrire avec une url du type /forum/blablablabla-54, et un fois du type /forum/blablablabla-a54

Donc la seule chose qui change est ce "a", avant le nombre.
 
WRInaute discret
Ah oui j'ai vu ce "à"

tester ça :

Code:
RewriteEngine On
RewriteRule ^(.*)-(a)([0-9]+)$ forums.php?id=$3 [L]
RewriteRule ^(.*)-([0-9]+)$ view.php?id=$2 [L]
 
WRInaute discret
Non, ça ne fonctionne pas :/

Mais mon problème ne vient pas de l'url rewriting lui-même, qui fonctionne tout à fait bien, mais de l'erreur 500 que j'ai avec ce code :(
 
WRInaute discret
RESOLU : il s'agissait d'un problème d'encodage des sauts de ligne !!! Retour chariot linux/windows pas identiques... Merci à mahdivitche !
 
Discussions similaires
Haut