HTTP Redirect, un nouveau plugin pour Dotclear
Par Sacha le 23 novembre 2007, 00:00 - Lien permanent
Si jamais vous avez besoin de déplacer proprement certains billets de votre blog ailleurs, ce plugin sera pour vous d'une certaine utilité, car il permet de spécifier une URL de redirection pour chaque billet. Le plugin utilise l'en-tête HTTP Location accompagnée du code de statut 301, Moved Permanently pour déplacer définitivement le contenu ailleurs.
Utilisation
Plutôt simpliste, il vous suffit d'écrire la nouvelle adresse dans le champ URL de redirection, et les visiteurs seront automatiquement redirigés.

Il est également possible d'affecter des adresses de redirection à plusieurs billets à la fois par l'intermédiaire du menu Action se trouvant en bas de la liste des billets.

Si vous souhaitez cacher ces billets de la partie publique, il suffit de mettre l'état de chaque billet sur non publié[1]. La redirection continuera de fonctionner.
Installation & mise à jour
Suivez la procédure normale d'installation et de mise à jour.
Notes
[1] Comprenez bien que cocher la case Cacher revient à mettre le billet hors ligne.
Commentaires
Euh... Excuse moi, mais j'ai pas bien compris l'utilité de ton plugin... o_O
Bonjour castor.toma,
Ce plugin permet de faire déménager le contenu de ton blog ailleurs.
Par exemple, j'ai écrit des billets à propos de Dotclear sur mon blog "Au bout des mots". Ensuite j'ai décidé de créer un blog à part, "Les bricoles du web" et j'ai importé dans ce blog mes articles concernant Dotclear.
Pour ne pas avoir les mêmes articles sur deux blogs différents, il est préférable de supprimer les articles exportés depuis le blog d'origine.
Mais en supprimant ces articles du blog d'origine, les gens risquent de tomber sur des erreurs 404 (document non trouvé) et ne sauront pas comment retrouver le contenu qui a déménagé.
Ce plugin propose une solution. Il permet de rediriger automatiquement les visiteurs à la nouvelle adresse. Ainsi, l'ancienne adresse
http://sacha.xn--phnix-csa.net/post...
reste valide et redirige automatiquement sur
http://bricole.xn--phnix-csa.net/po...
Fais un essai pour voir. ;-)
Ton plugin permet de rediriger tout un blog vers une autre adresse? pour le moments j'utilise PrivateBlog mais il besoin de LoginCookie.
Le problème est que LoginCookie, place user id et du super_admin directement dans un cookie passer par une session serai mieux, pour la sécu.
Merci
Bonsoir Erwin,
Le plugin HTTP Redirect ne redirige que les billets. Si tu souhaites rediriger un blog entier, je te conseille de le faire grâce à l'instruction Apache "RedirectMatch" comme le fait Olivier Tétard :
Ou encore, pour redireger du dossier alpha vers un dossier beta :
Voir aussi à propos la documentation Apache.
Merci pour ta réponse Sacha ;) . j'ai fait une 301.
Tres bonne idee ce plugin !
helas, chez moi l'install se passe bien, en repassant par le tableau de bord j'ai bien la notification que le plugin a été installé mais une fois que je veux editer un billet, j'obtiens ces messages d'erreur :
Fatal error: Uncaught exception 'Exception' with message 'Unknown column 'post_hide' in 'field list' (1054)' in /mypath/dc2b7/inc/clearbricks/dblayer/class.mysql.php:101 Stack trace: #0 /mypath/dc2b7/inc/clearbricks/dblayer/dblayer.php(299): mysqlConnection->db_query(Resource id #14, 'SELECT redirect...') #1 /mypath/dc2b7/plugins/httpredirect/_admin.php(199): dbLayer->select('SELECT redirect...') #2 internal function: adminHttpRedirect::form(Object(record)) #3 /mypath/dc2b7/inc/core/class.dc.core.php(308): call_user_func_array(Array, Array) #4 /mypath/dc2b7/admin/post.php(426): dcCore->callBehavior('adminPostFormSi...', Object(record)) #5 {main} thrown in /mypath/dc2b7/inc/clearbricks/dblayer/class.mysql.php on line 101
Comme s'il manquait un champ SQL quelque part...
Des idées sur ce qui peut bien se passer ?
Olivier,
Quelle version de Dotclear utilises-tu ? Effectivement j'ai l'impression que le champ post_hide n'existe pas dans la table dc_post. Est-ce bien le cas ?
Je ne sais pas, peut-être que dans une version de Dotclear ce champ n'existe pas, je ne suis pas au courant. Dans ce cas il faut mettre à jour Dotclear, sinon il faut le regarder de plus près.
effectivement, c'est exactement cela
je suis en dc2b7 et je n'avais pas de champ post_hide dans la table dc_post
Je l'ai créé e smallint(6), réinstallé le plugin et tout fonctionne!
Peut-être faudrait il rajouter un test d'existence de ce champ (je n'en ai d'ailleurs trouvé aucune référence en googlant un peu) et s'il n'est pas présent - le créer OU - ne pas finaliser l'installation du plugin ? je ne sais pas laquelle des 2 solutions est la plus appropriée vu que je ne connais pas la fonction de ce champ ailleurs...
En tout cas merci pour l'astuce, j'aurais du y penser mais je me suis bêtement focalisé sur mon impossibilité à réaccéder mes billets ;)
Pourrais-tu poser la question sur le forum Dotclear à propos de ce champ, car je ne savais pas qu'il pouvait ne pas être présent - c'est nouveau pour moi.
Merci.
Pas de souci, le post est ici : http://www.dotclear.net/forum/viewt...