Désactiver le système frontal à utiliser uniquement en tant que CMS?

11

J'utilise la base de données WordPress et le back-end pour gérer l'actualité du site Web de mon groupe. Tout fonctionne parfaitement, mais j'aimerais désactiver le frontal de WordPress lui-même.

L’installation de WordPress est installée dans /wordpress/ et, bien évidemment, la section admin est sous /wordpress/wp-admin/ .

Quel serait le meilleur moyen d'empêcher quelqu'un d'accéder au site WordPress d'installation plutôt * un * sans affecter la section administrateur?

Si possible, je pourrais simplement rediriger vers la page d'accueil appropriée du site Web ( domain.com/ ).

    
posée Nick Bedford 23.05.2011 - 07:39

5 réponses

12

Pour vous assurer que seul le serveur frontal redirige vers domain.com , créez un thème utilisant la fonction d'en-tête PHP ().

  • Créez un dossier appelé redirection ou quelque chose.
  • Ajouter deux fichiers au dossier: style.css et index.php (nécessaire pour un thème WP valide)
  • Dans style.css , ajoutez quelque chose comme ceci:

    / *
    Nom du thème: Redirect
    Description: redirige le front-end vers domain.com
    * /

  • Dans index.php ajoutez ceci:

    en-tête ("Emplacement: enlace ");

  • Téléchargez le dossier dans le répertoire des thèmes, puis activez-le dans l'interface utilisateur de l'administrateur.
réponse donnée Corey McKrill 23.05.2011 - 09:16
6

Utilisez un thème avec "données vides". Mettez deux fichiers dans le répertoire, puis activez "thème".

style.css

/*
Theme Name: turn off frontend
Theme URI: 
Description: 
Author: 
Version: 
License: GNU 
License URI: 
Tags:
*/

et index.php

<?php
exit;
    
réponse donnée Marcin 23.05.2011 - 08:58
1

ajoutez ceci au .htaccess dans votre répertoire racine

redirect 301 /wordpress http://www.domain.com

EDIT: C’est vraiment une solution rapide, il pourrait y avoir de meilleures solutions. Une autre solution consiste à ajouter une fonction à votre fichier functions.php, qui est ensuite appelée dans wp_head () pour rediriger de cette façon. En utilisant cette méthode, vous pouvez également vous permettre de la visualiser avec une simple vérification d’IP.

    
réponse donnée supajb 23.05.2011 - 07:47
1

Mettez ceci dans votre .htaccess et dressez la liste des chemins que vous voulez garder disponibles:

RewriteCond %{REQUEST_URI} !^/wp-admin
RewriteCond %{REQUEST_URI} !^/wp-includes
RewriteCond %{REQUEST_URI} !^/wp-login
RewriteCond %{REQUEST_URI} !^/wp-content/uploads
RewriteCond %{REQUEST_URI} !^/wp-content/plugins
RewriteCond %{REQUEST_URI} !^/wp-content/cache
RewriteRule (.*) http://yournewdomain.com/ [R=301,L]
    
réponse donnée Ben Rogmans 27.09.2013 - 11:49
1

Bien qu’il s’agisse d’une question plutôt ancienne avec une réponse déjà acceptée, cela pourrait être utile, surtout qu’aucune de ces solutions ne fonctionnait pour moi.

function redirect_to_backend() {
    if( !is_admin() ) {
        wp_redirect( site_url('wp-admin') );
        exit();
    }
}
add_action( 'init', 'redirect_to_backend' );

Le code lui-même est assez explicatif:

  • lancez la vérification sur le hook "init"
  • vérifie si la page que nous sommes en train de charger est front-end (pas wp-admin)
  • redirection vers le back-end (wp-admin)

Il suffit de placer le code dans n’importe quel plugin ou dans le fichier function.php du thème pour que cela fonctionne sans problème.

EDIT:

Si cela ne fonctionne pas pour vous (j'ai eu des problèmes mineurs même avec ce code), vous pouvez créer un nouveau thème (ou un thème enfant) et ne mettre que ce contenu dans le fichier header.php :

<?php
header("Location: ".get_admin_url());
exit();
    
réponse donnée dev_masta 01.04.2017 - 01:30

Lire d'autres questions sur les étiquettes