b2evolution 0.9.0.10: bug lors de la création de fichiers “stub”
Etrange ce bug lors de la création de fichiers stub pour permettre des URL du type : http://www.monsite.com/blog/blog1/ ou http://www.monsite.com/blog/blog2/, il faut créer en local des sous-répertoire et placer à l’intérieur un fichier “stub”. Logiquement, on aimerait que le fichier que l’on place dedans soit nommé “index.php” pour que l’URL soit plus conviviale. En effet l’URL “http://www.monsite.com/blog/blog1/” est plus conviviale que “http://www.monsite.com/blog/blog1/stub.php” par exemple.
Voici la marche à suivre pour permettre cette manipulation:
- Dans la base de données, choisir la table “evo_blogs” et supprimer l’index Unique pour le champ “blog_stub”. Ceci devrait théoriquement permettre d’appeler tous les fichiers de ces sous-répertoire “index.php”. Or si cette manipulation se révèle efficace lorsque l’on met à jour les paramètres d’un blog, elle ne fonctionne pas lorsque l’on crée un nouveau blog.
- Editer le fichier “admin/b2blogs.php” à la ligne #222 avec le code suivant (il suffit de placer des commentaires en fait):
/* else if( $DB->get_var( "SELECT COUNT(*)
FROM $tableblogs
WHERE blog_stub = ".$DB->quote($blog_stub)."
AND blog_ID <> ".$edited_Blog->ID ) )
{ // Stub name is already in use
errors_add( T_('This URL blog name / Stub name is already in use by another blog. Choose another name.') );
} */
Pour créer un nouveau blog, il faudra suivre les étapes suivantes:
- Créer un nouveau sous-répertoire, par exemple “/blog1″.
- Y insérer une copie du fichier “stub” et le nommer “index.php”.
- Dans l’interface d’administration, créer un nouveau blog, et sous “Paramètres d’accès”, choisir pour le “Type d’accès préféré”: “Autre blog à travers un fichier stub (Avancé)”, pour “URL du répertoire du blog”: “/blog1″ et pour “Nom URL du blog / fichier stub”: “index1.php” (ce fichier devrait logiquement se nommer “index.php”, c’est-à-dire le même nom que le fichier présent dans “/blog1″, mais ce n’est pas possible justement en raison de ce bug même après la manipulation dans la table “evo_blogs”).
- Dans la base de données, choisir la table “evo_blogs” et pour l’entrée créée pour le “blog1″, changer dans le champ “blog_stub” “index1.php” en “index.php”.
Notons qu’un collègue (JM) vient de trouver une manipulation pour éviter de passer par les étapes ci-dessus lors de la création d’un nouveau blog. Il suffirait de mettre également des commentaires ici:
- Editer le fichier “admin/b2blogs.php” à la ligne #64 avec le code suivant:
/* else if( $DB->get_var( "SELECT COUNT(*)
FROM $tableblogs
WHERE blog_stub = ".$DB->quote($blog_stub) ) )
{ // Stub name is already in use
errors_add( T_('This URL blog name / Stub name is already in use by another blog. Choose another name.') );
}
*/
Vous aimez ce type de contenu?
Alors suivez-ce blog par RSS ou par email!