Objet : Re: [Spip] RewriteRule sur serveur virtuel dedie
> Bonjour,
> > je bataille depuis un moment sur un pb de re ecriture d url sur
> un serveur
> > virtuel dedie... apres pas mal d essais fait avec le support
> technique de l
> > hebergement (nfrance) on arrive a cette syntaxe :
> >
> > # Les rubriques
> > RewriteRule -[^/\.]+-?(\.html)?$ /spip.php?page=rubrique
> un ^ en début d'expression pour pas matcher un - qui trainerait
> au milieu ?
>
> sinon, je vois pas trop
> t'as moyen de mettre un RewriteLog histoire de savoir ce qu'il fait ?
>
> --
> À+, Pif.Bonsoir,
(que quelqu un comprenne ma question, c est deja d un grand
reconfort moral)
Alors ca :# Les rubriques
RewriteRule ^-[^/\.]+-?(\.html)?$ /spip.php?page=rubrique
[QSA,E=url_propre:$0,L]
ne change rien au pb
par contre, ne reculant devant rien :
ca :# Les rubriques
RewriteRule ^/\-[^/\.]+-?(\.html)?$ /spip.php?page=rubrique
[QSA,E=url_propre:$0,L]
permet de redirige effectivement sur le squelette rubrique et de
laisser passer les url d articles qui sont traitees correctement
par la suite.
Par contre, si le squelette rubrique est bien selectionne comme
il faut, l id rubrique ne semble pas etre transmis (comme en
temoigne le mode debug) ?
La redirection pour les articles fontionne tres bien, avec
passage de l id article
J ai bien acces a un RewriteLog sur le serveur, mais l est tout
vide, je crois qu il faut regler le niveau de details que l on
veut dedans... vais demander ca a l hebergeur...
Merci bien
triton
Ca y est ! pffff....
pour resoudre le bleme sur cet hebergement, j ai :
sur le .htaccess
modifier les 2 lignes suivantes :
# Les rubriques
RewriteRule ^\/-[^/\.]+-?(\.html)?$ /spip.php?page=rubrique
[QSA,E=url_propre:$0,L]
# Les articles (en dernier car expression plus "large")
RewriteRule ^\/[^/\.]+-?(\.html)?$ /spip.php?page=article
[QSA,E=url_propre:$0,L]
Dupliquer le fichier \ecrire\urls\propres.php et le renommer en
propresVirtuelDedie.php:
modifier les lignes :
else if (preg_match(',^\/-(.*?)-?$,', $url_propre, $regs)) {
$type = 'rubrique';
$url_propre = $regs[1];
}
else {
$type = 'article';
preg_match(',^\/(.*)$,', $url_propre, $regs);
$url_propre = $regs[1];
}
et dans le fichier
\ecrire\mes_options.php
$type_urls='propresVirtuelDedie';
////
Voila, suis pas sur que ce soit la solution la plus elegante, mais meme si
on doit en regretter le manque de fair play on peut tout de meme se rejouir
de son efficacite (+ou- Audiard)
Toute la bataille en fait autour d un / en debut d url qui doit resulter de
la virtualite d un repertoire...
merci pour l aide
cordialement
triton