je propose :
RewriteRule ^(IMG)/([-a-z])/[-a-zA-Z0-9.]+)$ spip.php?page=voir_doc&doc=$1/$2/$3
Mais attention, cela le fera pour tous les documents qui sont dans un sous-répertoire de IMG, donc pour les images aussi.
Si c'est uniquement pour les pdf, plutôt ça :
RewriteRule ^(IMG)/(pdf)/[-a-zA-Z0-9.]+)$ spip.php?page=voir_doc&doc=$1/$2/$3
Et tu peux rajouter des types de documents en les mettant ainsi :
RewriteRule ^(IMG)/(pdf|ppt|flv)/[-a-zA-Z0-9.]+)$ spip.php?page=voir_doc&doc=$1/$2/$3
J'ai oublié une parenthèse !
Le bon code est le suivant :
RewriteRule ^(IMG)/([-a-z])/([-a-zA-Z0-9.]+)$ spip.php?page=voir_doc&doc=$1/$2/$3
Mais attention, cela le fera pour tous les documents qui sont dans un sous-répertoire de IMG, donc pour les images aussi.
Si c'est uniquement pour les pdf, plutôt ça :
RewriteRule ^(IMG)/(pdf)/([-a-zA-Z0-9.]+)$ spip.php?page=voir_doc&doc=$1/$2/$3
Et tu peux rajouter des types de documents en les mettant ainsi :
RewriteRule ^(IMG)/(pdf|ppt|flv)/([-a-zA-Z0-9.]+)$ spip.php?page=voir_doc&doc=$1/$2/$3
Sylvain a écrit :
J'ai oublié une parenthèse !
Le bon code est le suivant :
RewriteRule ^(IMG)/([-a-z])/([-a-zA-Z0-9.]+)$
spip.php?page=voir_doc&doc=$1/$2/$3
Mais attention, cela le fera pour tous les documents qui sont dans un sous-répertoire de IMG, donc pour les images aussi.
Si c'est uniquement pour les pdf, plutôt ça :
RewriteRule ^(IMG)/(pdf)/([-a-zA-Z0-9.]+)$ spip.php?page=voir_doc&doc=$1/$2/$3
Et tu peux rajouter des types de documents en les mettant ainsi :
RewriteRule ^(IMG)/(pdf|ppt|flv)/([-a-zA-Z0-9.]+)$
spip.php?page=voir_doc&doc=$1/$2/$3
Merci pour la reponse, mais dommage ca ne marche pas. En fait ca n'a absolument aucun effet meme pas la generation d'une erreur, ca affiche toujours le document pdf. C'est normal?
Sylvain a écrit :
J'ai oublié une parenthèse !
Le bon code est le suivant :
RewriteRule ^(IMG)/([-a-z])/([-a-zA-Z0-9.]+)$
spip.php?page=voir_doc&doc=$1/$2/$3
Mais attention, cela le fera pour tous les documents qui sont dans un sous-répertoire de IMG, donc pour les images aussi.
Si c'est uniquement pour les pdf, plutôt ça :
RewriteRule ^(IMG)/(pdf)/([-a-zA-Z0-9.]+)$ spip.php?page=voir_doc&doc=$1/$2/$3
Et tu peux rajouter des types de documents en les mettant ainsi :
RewriteRule ^(IMG)/(pdf|ppt|flv)/([-a-zA-Z0-9.]+)$
spip.php?page=voir_doc&doc=$1/$2/$3
Merci pour la reponse, mais dommage ca ne marche pas. En fait ca n'a absolument aucun effet meme pas la generation d'une erreur, ca affiche toujours le document pdf. C'est normal?
George
Quelle ligne as-tu mis dans le.htaccess et à quel endroit ?
Car si elle est après la ligne "RewriteRule ^[^\.]+(\.html)?$ spip.php [QSA,E=url_propre:$0,L]", c'est normal que ça ne marche pas car le L dans les indique que c'est la dernière règle à prendre en compte.
Et il faut peut-être ajouter un flag last [L] à la fin de la ligne, séparé par un espace.
Je la mettrais dans les réglages personnalisés, ce qui donne :
################ REGLAGES PERSONNALISES ######################
# Inscrivez ci-dessous vos reglages supplementaires
RewriteRule ^(IMG)/(pdf)/([-a-zA-Z0-9.]+)$ spip.php?page=voir_doc&doc=$1/$2/$3 [L]
Si ça ne fonctionne pas, il faut essayer "d'antislasher" le point :
RewriteRule ^(IMG)/(pdf)/([-a-zA-Z0-9\.]+)$ spip.php?page=voir_doc&doc=$1/$2/$3 [L]
Quelle ligne as-tu mis dans le.htaccess et à quel endroit ?
Car si elle est après la ligne "RewriteRule ^[^\.]+(\.html)?$ spip.php [QSA,E=url_propre:$0,L]", c'est normal que ça ne marche pas car le L dans les indique que c'est la dernière règle à prendre en compte.
Et il faut peut-être ajouter un flag last [L] à la fin de la ligne, séparé par un espace.
Je la mettrais dans les réglages personnalisés, ce qui donne :
################ REGLAGES PERSONNALISES ######################
# Inscrivez ci-dessous vos reglages supplementaires
RewriteRule ^(IMG)/(pdf)/([-a-zA-Z0-9.]+)$
spip.php?page=voir_doc&doc=$1/$2/$3 [L]
Si ça ne fonctionne pas, il faut essayer "d'antislasher" le point :
RewriteRule ^(IMG)/(pdf)/([-a-zA-Z0-9\.]+)$
spip.php?page=voir_doc&doc=$1/$2/$3 [L]
Sylvain
Voici la ligne que j'ai utilisee:
RewriteRule ^(IMG)/(pdf|doc|xls)/([-a-zA-Z0-9\.]+)$ spip.php?page=voir_doc&doc=$1/$2/$3 [R,L]
avec et sans antislash toute seile dans un htaccess (avec RewriteEngine On et RewriteBase /) et dans le htaccess qui vient avec SPIP dans la partie reglages personnalises. D'ailleurs les URLs propres sont activees et marchent tres bien.
Quelle ligne as-tu mis dans le.htaccess et à quel endroit ?
Car si elle est après la ligne "RewriteRule ^[^\.]+(\.html)?$ spip.php [QSA,E=url_propre:$0,L]", c'est normal que ça ne marche pas car le L dans les indique que c'est la dernière règle à prendre en compte.
Et il faut peut-être ajouter un flag last [L] à la fin de la ligne, séparé par un espace.
Je la mettrais dans les réglages personnalisés, ce qui donne :
################ REGLAGES PERSONNALISES ######################
# Inscrivez ci-dessous vos reglages supplementaires
RewriteRule ^(IMG)/(pdf)/([-a-zA-Z0-9.]+)$
spip.php?page=voir_doc&doc=$1/$2/$3 [L]
Si ça ne fonctionne pas, il faut essayer "d'antislasher" le point :
RewriteRule ^(IMG)/(pdf)/([-a-zA-Z0-9\.]+)$
spip.php?page=voir_doc&doc=$1/$2/$3 [L]
Sylvain
Voici la ligne que j'ai utilisee:
RewriteRule ^(IMG)/(pdf|doc|xls)/([-a-zA-Z0-9\.]+)$ spip.php?page=voir_doc&doc=$1/$2/$3 [R,L]
avec et sans antislash toute seile dans un htaccess (avec RewriteEngine On et RewriteBase /) et dans le htaccess qui vient avec SPIP dans la partie reglages personnalises. D'ailleurs les URLs propres sont activees et marchent tres bien.
George
Hem, là je ne vois pas. Il faudrait que j'essaye en local, tu veux bien me passer ton squelette voir_doc.html ? Ca m'évitera d'écrire quelque chose pour tester.
Spip 2.0.9 et c'est un intranet. le fichier html existe bien dans squelette et il verifie si une session visiteur est ouverte si non il redirige vers le login public, si oui il ajoute une ligne avec le nom du document au log et il redirige vers le document.
Et je suis en train de me demander si quand la réécriture fonctionnera, cela ne créera pas une redirection infinie, une fois loggué.
Quelle ligne as-tu mis dans le.htaccess et à quel endroit ?
Car si elle est après la ligne "RewriteRule ^[^\.]+(\.html)?$ spip.php [QSA,E=url_propre:$0,L]", c'est normal que ça ne marche pas car le L dans les indique que c'est la dernière règle à prendre en compte.
Et il faut peut-être ajouter un flag last [L] à la fin de la ligne, séparé par un espace.
Je la mettrais dans les réglages personnalisés, ce qui donne :
################ REGLAGES PERSONNALISES ######################
# Inscrivez ci-dessous vos reglages supplementaires
RewriteRule ^(IMG)/(pdf)/([-a-zA-Z0-9.]+)$
spip.php?page=voir_doc&doc=$1/$2/$3 [L]
Si ça ne fonctionne pas, il faut essayer "d'antislasher" le point :
RewriteRule ^(IMG)/(pdf)/([-a-zA-Z0-9\.]+)$
spip.php?page=voir_doc&doc=$1/$2/$3 [L]
Sylvain
Voici la ligne que j'ai utilisee:
RewriteRule ^(IMG)/(pdf|doc|xls)/([-a-zA-Z0-9\.]+)$ spip.php?page=voir_doc&doc=$1/$2/$3 [R,L]
avec et sans antislash toute seile dans un htaccess (avec RewriteEngine On et RewriteBase /) et dans le htaccess qui vient avec SPIP dans la partie reglages personnalises. D'ailleurs les URLs propres sont activees et marchent tres bien.
George
Hem, là je ne vois pas. Il faudrait que j'essaye en local, tu veux bien me passer ton squelette voir_doc.html ? Ca m'évitera d'écrire quelque chose pour tester.
Spip 2.0.9 et c'est un intranet. le fichier html existe bien dans squelette et il verifie si une session visiteur est ouverte si non il redirige vers le login public, si oui il ajoute une ligne avec le nom du document au log et il redirige vers le document.
Et je suis en train de me demander si quand la réécriture fonctionnera, cela ne créera pas une redirection infinie, une fois loggué.