Dossiers virtuels test/ et test (sans slash)

WRInaute occasionnel
Salut,

j'essaye, en vain, de donner la possibilité aux utilisateurs de mon système de blog d'utiliser 2 urls différentes : -http://www.notre-blog.com/demo/ ou -http://www.notre-blog.com/demo (sans slash à la fin)

j'ai pour le moment cette ligne :
RewriteRule ^(.+)/$ home.php?id_blog=$1 [L]
qui fonctionne très bien, mais uniquement avec le slash.

Si j'enlève le slash, l'index ne fonctionne plus, je sens que le site tourne en rond...

Quelqu'un aurait-il une idée là dessus ?
Merci !
 
WRInaute occasionnel
Fais gaffe, parce que sans slash, tu risques d'avoir des pbs.
Exemple, je viens de créer chez toi le blog "home.php":
http://www.notre-blog.com/home.php/
(évidemment, supprimes-le, c'est bidon)
Alors quand tu autoriseras l'absence de slash à la fin...

J'ai été tenté de créer un blog "images" pour voir ce que ça donne, mais j'ai peur de te créer des problèmes. Je suis quand même curieux de savoir ce que ça donnerait...

AMHA, je te conseille de dédier un sous répertoire pour l'accès aux blogs:
http://www.notre-blog.com/blogs/demo

Au moins, c'est isolé, et dans le htaccess, facile à gérer
 
WRInaute occasionnel
oui, en effet, il y a un risque de créer des problemes
j'avais déjà testé de créer un blog images, mais vuq ue j'appelle toujours une image, du genre images/bouton.gif, il n'y a pas de probleme...

Par contre, tu as tout à fait raison sur le fait que sans slash, il y a un risque non mesurable...

J'ai fait plaisir au membre qui m'avait demandé ca en créant une condition spéciale dans le htaccess pour lui (du genre ^test$ home.php?id=test

Merci !
 
WRInaute occasionnel
Autre idée: préfixe les noms de blogs avec un caractère ou un autre, genre:
http://www.notre-blog.com/-demo

(et assures-toi par ailleurs de ne pas avoir de fichiers ou dossiers commençant avec ce caractère).

Ensuite, dans ton htaccess, tu peux autoriser la redirection avec ou sans slash, puisque dans la rewriterule, tu ajouteras ce carctère d'en-tête:
RewriteRule ^-(.+)/?$ home.php?id_blog=$1 [L]

PS: tu devrais quand même interdire certains caractères dans le nom du blog, par sécurité. (slash, point, accents, etc). Peut-être même tout ce qui n'est pas alphanumérique. Ça changera peut-être rien, mais ça déstresse à un point... :)
 
WRInaute passionné
et

Il n'y a pas moyen sans le /

comme cela

RewriteRule ^(.+)$ /urlrewriting/toto/index.php?blog=$1 [L]
?
Pourquoi?

Y a t-il une autre solution?
 
WRInaute occasionnel
j'ai l'impression que toutes les pages xxxx.php correspondent à ce schéma, et sont donc renvoyées vers un blog qui n'existe pas, qui renvoit donc vers la racine, qui renvoit vers un blog........ etc.
 
Discussions similaires
Haut