web-dev-qa-db-fra.com

multisite: utiliser un sous-dossier virtuel pour les sous-blogs

Pour notre école, nous utilisons un réseau wordpress. Le domaine principal donne accès aux informations générales et les sous-sites sont des projets spécifiques gérés par les étudiants.

J'aimerais que tous les sous-sites aient leur URL ajoutée avec un faux nom de dossier.

exemple

Dites que le domaine principal est school.edu

Mes sous-sites sont

school.edu/project1/
school.edu/project2/

J'aimerais que cela devienne:

school.edu/projects/project1/
school.edu/projects/project2/

Comment puis-je le faire?

UPDATE 1

J'ai essayé d'ajouter cette règle à mon .htaccess. Il redirige correctement, mais l'URL affichée ne reste pas celle que je veux, elle retourne à la "vraie" URL d'origine.

RewriteRule ^projects/([_0-9a-zA-Z-]+/)? $1 [R=301,L]
6
pixeline

J'ai eu un problème similaire avec un autre client, entrer quelque chose comme projet/projet1 serait une erreur car la validation/échouerait.

Après avoir échoué à trouver un remplacement ou un filtre, j'ai plutôt trouvé une échappatoire. Si vous créez projectsproject1, éditez ensuite le site de manière à ce que son URL soit projet/project1 et enregistrez, mettez à jour le fichier homeurl, etc., cela fonctionne! Cependant, vous devrez peut-être apporter des modifications à htaccess, etc. pour empêcher le chargement des pièces jointes, mais cela devrait être moins un problème maintenant que la version 3.5 ignore le fichier ms-files.php.

4
Tom J Nowell

Vous pouvez essayer de résoudre ce problème en utilisant uniquement les modifications .htaccess. Vous pouvez réécrire n'importe quelle URL school.edu/projects/project2/ en school.edu/project2/ et utiliser le format long. Mais dans ce cas, vous devez également générer les URL longues appropriées dans Wordpress.

1
feeela

Il est donc recommandé de traiter ce problème sous WordPress afin de permettre aux utilisateurs de voir l’URL yourschool.edu/project1, mais de placer votre installation dans un répertoire différent que les utilisateurs risquent moins de trouver.

Cela signifie que c'est en quelque sorte l'opposé de ce que vous demandez, mais c'est la meilleure solution, et cela résout ce que je suppose, le problème le plus important est de fournir une couche de sécurité grâce à l'obscurité.

Voici ce que vous feriez pour une nouvelle installation:

  1. téléchargez les fichiers de base de wordpress (en format Zip depuis wordpress.org)
  2. décompressez-le
  3. renommer le dossier quelque chose d'obscur (mais vous vous en souviendrez)
  4. télécharger le dossier dans le répertoire racine de votre site
  5. copiez le fichier index.php et le fichier .htaccess du dossier nommé de manière obscure et collez-le dans le répertoire racine (note: le fichier .htaccess n’existe peut-être pas encore, auquel cas vous devrez le créer)
  6. ouvrez le fichier index.php et changez

     require('./wp-blog-header.php'); 
    

pour ça

    require('./nameofobscurefolder/wp-blog-header.php');

Cela signifie que vous devrez vous connecter à l'adresse la plus longue, mais il est probable que vous l'ayez déjà dans la barre d'outils de vos favoris.

Une fois que vous avez installé WP et que vous êtes connecté, accédez à Paramètres> Général.

Vérifiez deux choses:

  1. que les paramètres de votre URL Wordpress pointent vers http://yourschool.edu/nameofobscurefolder

  2. que l'URL du blog pointe vers http://yourschool.edu .

0
Melanie Sumner